mysqldumper安装及使用

1、综述
mysqldumper工具是可以支持多线程的逻辑备份工具,比mysqldump的性能更好,能够支持大数据量的逻辑表备份,测试的结果是可以支持一库多表或全表,不支持多库同时备份,在centons6.5及mysql5.6版本上是可以使用的

为了进行大数据量的数据同步,但是mysql的两个版本有相差较大,一个是5.6的,一个是5.6的不能进行物理备份恢复(innobackupex 工具)就研究了这个mysqldumper工具,感觉还挺方便。
2、安装步骤
提前安装好centos6.5版本的系统
2.1、下载安装包
Mysqldumper的版本是0.9.1的版本
下载地址:mysqldumper0.9.1版本下载
提取码:wo1z
2.2、安装依赖包
Mysqldumper工具的一些依赖包需要提前安装
#yum -y install glib2-devel mysql-devel zlib-devel  openssl-devel
2.3、安装dumper工具及验证
#tar -xzvf mydumper-0.9.1.tar.gz
#cd mydumper-0.9.1/
#cmake .
#make & make install  

如果没有报错则安装成功,可以用mydumper --help 命令来检测mydumper命令是否可用,如果mydumper --help 不能正常显示,则进行下面的步骤:
找到mydumper依赖哪些包
#ldd /usr/local/bin/mydumper 
#LD_DEBUG=libs /usr/local/bin/mydumper -v

mysqldumper安装及使用_第1张图片
我这里可以看到是找不到libmysqlclient.so.18包
那找下所在机器是否有这个包
#locate libmysqlclient.so.18
然后将其拷贝到/usr/lib64这个路径下面
#cp /soft/mysql-5.6.31/libmysql/libmysqlclient.so.18 /usr/lib64/
然后再用mydumper --help 命令来检测是否安装成功

出现这样的画面就表示mydumper工具安装好了
mysqldumper安装及使用_第2张图片
3、mydumper工具的使用
要先建立备份文件及日志的路径
mkidr /test/data /test/log -p
命令直接在root用户下使用即可
#mydumper -h 192.168.182.128 -u source -p 123456 -B source -t 8 -r 10000 -c --less-locking -v  3 -D -L /test/log/mydumper.log   -o /test/data/
#myloader   -h 192.168.182.128 -u target -p 123456  -B target -e -t 8  -d /test/data/0/ --overwrite-tables -v 3
恢复是文件路径为:/test/data/0/  是因为在备份的时候/test/data/默认会创建一个/0 的目录
4、mydumper及myloader命令的参数

mydumper参数:

序号

参数

解释

1

-B, --database

要备份的数据库,不指定则备份所有库

2

-T, --tables-list

需要备份的表,名字用逗号隔开

3

-o, --outputdir             

备份文件输出的目录

4

-s, --statement-size

生成的insert语句的字节数,默认1000000

5

-r, --rows

将表按行分块时,指定的块行数,指定这个选项会关闭 --chunk-filesize

6

-F, --chunk-filesize

将表按大小分块时,指定的块大小,单位是 MB

7

-c, --compress

压缩输出文件

8

-e, --build-empty-files

如果表数据是空,还是产生一个空文件(默认无数据则只有表结构文件)

9

-x, --regex

是同正则表达式匹配 'db.table'

10

-i, --ignore-engines

忽略的存储引擎,用逗号分割

11

-m, --no-schemas

不备份表结构

12

-k, --no-locks

不使用临时共享只读锁,使用这个选项会造成数据不一致

13

--less-locking

减少对InnoDB表的锁施加时间(减少锁等待的时间)

14

-l, --long-query-guard

设定阻塞备份的长查询超时时间,单位是秒,默认是60秒(超时后默认mydumper将会退出)

15

--kill-long-queries

杀掉长查询 (不退出)

16

-b, --binlogs

导出binlog

17

-D, --daemon

启用守护进程模式,守护进程模式以某个间隔不间断对数据库进行备份

18

-I, --snapshot-interval

dump快照间隔时间,默认60s,需要在daemon模式下

19

-L, --logfile

使用的日志文件名(mydumper所产生的日志), 默认使用标准输出

20

--tz-utc

跨时区是使用的选项,不解释了

21

--skip-tz-utc

同上

22

--use-savepoints

使用savepoints来减少采集metadata所造成的锁时间,需要 SUPER 权限

23

--success-on-1146

如果表不存在,则不增加错误计数和警告

24

-h, --host

连接的主机名

25

-u, --user

备份所使用的用户

26

-p, --password  

备份用户的密码

27

-P, --port

端口

28

-S, --socket

使用socket通信时的socket文件

29

-t, --threads

开启的备份线程数,默认是4

30

-C, --compress-protocol

压缩与mysql通信的数据

31

-V, --version

显示版本号

32

-v, --verbose

输出信息模式, 0 = silent, 1 = errors, 2 = warnings, 3 = info, 默认为 2

myloader参数:

序号

参数

解释

1

-d, --directory

备份文件的目录

2

-q, --queries-per-transaction

每次事物执行的查询数量,默认是1000

3

-o, --overwrite-tables

如果要恢复的表存在,则先drop掉该表,使用该参数,需要备份时候要备份表结构

4

-B, --database

需要还原的数据库

5

-e, --enable-binlog

启用还原数据的二进制日志

6

-h, --host

连接的主机名

7

-u, --user

备份所使用的用户

8

-p, --password  

备份用户的密码

9

-P, --port

端口

10

-S, --socket

使用socket通信时的socket文件

11

-t, --threads

开启的备份线程数,默认是4

12

-C, --compress-protocol

压缩协议

13

-V, --version

显示版本

14

-v, --verbose

输出模式, 0 = silent, 1 = errors, 2 = warnings, 3 = info, 默认为2

 感谢博主所写的博客:https://blog.csdn.net/weixin_30445169/article/details/96141753

你可能感兴趣的:(数据库,MySQL)