mysql mysqldump如何用

mysql mysqldump如何用,第1张

mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。

比如导出单个数据库 ytt: mysqldump ytt > /tmp/yttsql;

恢复也非常简单:mysql < /tmp/yttsql

缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。

mysql 通过函数执本地命令、外部程序

昨天接到一个需求,要求在mysql的触发器中执行一个外部程序。

一开始没有什么头绪,后来发现嘿嘿。

id=211

有个叫mysqludf的一个东西,用起来还不错。

不过这个东西仅仅在linux下试了试,效果还行。

步骤如下:

一、解压附件的压缩包之后

如果不想自己编译的话,把lib_mysqludf_sysso文件放到 mysql的lib/mysql/plugin/

目录下。

二、执行chcon -t texrel_shlib_t mysql/lib/mysql/plugin/lib_mysqludf_sysso

三、创建函数

DROP FUNCTION IF EXISTS lib_mysqludf_sys_info;

DROP FUNCTION IF EXISTS sys_get;

DROP FUNCTION IF EXISTS sys_set;

DROP FUNCTION IF EXISTS sys_exec;

DROP FUNCTION IF EXISTS sys_eval;

CREATE FUNCTION lib_mysqludf_sys_info RETURNS string SONAME 'lib_mysqludf_sysso';

CREATE FUNCTION sys_get RETURNS string SONAME 'lib_mysqludf_sysso';

CREATE FUNCTION sys_set RETURNS int SONAME 'lib_mysqludf_sysso';

CREATE FUNCTION sys_exec RETURNS int SONAME 'lib_mysqludf_sysso';

CREATE FUNCTION sys_eval RETURNS string SONAME 'lib_mysqludf_sysso';

四、测试

1、准备sh文件

在linux系统中执行下面的命令

su mysql

mkdir /mysqlUDFtest

cd mysqlUDFtest

vi testsh

#/bin/sh

date > testlogtxt

chmod +x /testsh

2、准备数据库表和触发器

选择一个数据库执行如下命令:

CREATE TABLE test1(a1 INT) type=InnoDB;

CREATE TABLE test2(a2 INT) type=InnoDB;

CREATE TABLE test3(a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY) type=InnoDB;

CREATE TABLE test4(

a4 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

b4 INT DEFAULT 0

) type=InnoDB;

DELIMITER |

DROP TRIGGER /!50032 IF EXISTS / `test``testref`|

create trigger `test``testref` BEFORE INSERT on `test``test1`

for each row BEGIN

DECLARE done INT DEFAULT 999;

INSERT INTO test2 SET a2 = NEWa1;

DELETE FROM test3 WHERE a3 = NEWa1;

UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEWa1;

set done = sys_exec("/mysqlUDFtest/testsh");

IF done != 0 then

INSERT INTO `$amp;<amp ;$gt;22t3`="" (a,b); end="" if;END;

|

1、关闭Liunx系统的防火墙,如果忘了,你下面的测试连接必定会失败,切记,切记,切记。

2、yum安装lrzsz和cmake

yum -y install lrzsz;

yum -y install cmake;

首先熟悉MySql数据库,很多人都是直接安装原生版的MySql数据库(就是官网上下载的数据库安装包),也有人用的是MySql的衍生版数据库,如percona,我用的就是这种,下面我会分别说明原生版和衍生版MySql数据库的安装和主从配置。

1 mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。

比如导出单个数据库 ytt: mysqldump ytt > /tmp/yttsql;

恢复也非常简单:mysql < /tmp/yttsql

缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。

2 mysqlpump:MySQL 57 GA 后推出的 mysqldump工具的增强版。可以对同一个数据集多个线程并发备份,备份速度很快。

其他缺点和 mysqldump 一样。

3 MySQL Shell UTIL 对象附带的备份工具:随 MySQL 8021 最新版本捆绑发布,自带多线程备份以及多线程恢复功能, 可以直接替代 mysqldump/mysqlpump。

dump_instance/dumpInstance 用来多线程备份 MySQL 整个单机实例dump_schemas/dumpSchemas 用来多线程备份 MySQL 单个数据库load_dump/loadDump 用来多线程恢复之前两个工具导出的数据集文件

public class MongoDBJDBC {

public static void main(String[] args) {

try {

// 实例化Mongo对象,连接27017端口

Mongo mongo = new Mongo("localhost", 27017);

// 连接名为yourdb的数据库,假如数据库不存在的话,mongodb会自动建立

DB db = mongogetDB("test");

// Get collection from MongoDB, database named "yourDB"

// 从Mongodb中获得名为yourColleection的数据集合,如果该数据集合不存在,Mongodb会为其新建立

DBCollection collection = dbgetCollection("test1");

// 使用BasicDBObject对象创建一个mongodb的document,并给予赋值。

BasicDBObject document = new BasicDBObject();

//documentput("id", 1001);

//documentput("msg", "hello world mongoDB in Java");

// 将新建立的document保存到collection中去

//collectioninsert(document);

// 创建要查询的document

BasicDBObject searchQuery = new BasicDBObject();

searchQueryput("name", "chen");

// 使用collection的find方法查找document

DBCursor cursor = collectionfind(searchQuery);

// 循环输出结果

while (cursorhasNext()) {

Systemoutprintln(cursornext());

}

Systemoutprintln("Hello World");

} catch (UnknownHostException e) {

eprintStackTrace();

} catch (MongoException e) {

eprintStackTrace();

}

}

}

以上就是关于mysql mysqldump如何用全部的内容,包括:mysql mysqldump如何用、mysql触发器原生支持调用外部程序么、一台linux服务器怎么安装多个mysql数据库并配置主从等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/9498403.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存