mydumper 简单使用

总结:

1.导入导出都是多线程(单张表也一样可以指定多线程);

2.恢复时可以将备份的某个表文件单独存放在其他位置,然后恢复,可以达到恢复单个表的目的;

3.备份生成的文件 库、表、数据都分开放的,恢复的时候可以指定恢复,不用全部都恢复;

4.可备份多个数据库,需要根据正则表达式实现;

5.最好在从库上使用;

 

 

特性:

  • 多线程备份
  • 因为是多线程逻辑备份,备份后会生成多个备份文件
  • 备份时对MyISAM表施加FTWRL(FLUSH TABLES WITH READ LOCK),会阻塞DML语句
  • 保证备份数据的一致性
  • 支持文件压缩
  • 支持导出binlog
  • 支持多线程恢复
  • 支持以守护进程模式工作,定时快照和连续二进制日志
  • 支持将备份文件切块

 

参数说明(红色为常用):

mydumper

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

-T, --tables-list      需要备份的表,名字用逗号隔开

-o, --outputdir       备份文件输出的目录

-s, --statement-size    生成的insert语句的字节数,默认1000000

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

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

-c, --compress        压缩输出文件

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

-x, --regex         是同正则表达式匹配 'db.table'

-i, --ignore-engines    忽略的存储引擎,用都厚分割

-m, --no-schemas       不备份表结构

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

--less-locking       减少对InnoDB表的锁施加时间(这种模式的机制下文详解)

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

--kill-long-queries     杀掉长查询 (不退出)

-b, --binlogs         导出binlog

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

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

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

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

--skip-tz-utc         同上

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

--success-on-1146     Not increment error count and Warning instead of Critical in case of table doesn't exist

-h, --host           连接的主机名

-u, --user           备份所使用的用户

-p, --password        密码

-P, --port           端口

-S, --socket         使用socket通信时的socket文件

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

-C, --compress-protocol  压缩与mysql通信的数据

-V, --version         显示版本号

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

 

myloader

-d, --directory           备份文件的文件夹

-q, --queries-per-transaction 每次事物执行的查询数量,默认是1000

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

-B, --database           需要还原的数据库

-e, --enable-binlog        启用还原数据的二进制日志

-h, --host              主机

-u, --user              还原的用户

-p, --password           密码

-P, --port              端口

-S, --socket            socket文件

-t, --threads            还原所使用的线程数,默认是4

-C, --compress-protocol     压缩协议

-V, --version            显示版本

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

 

安装方法:

1.预安装:

yum install -y glib2-devel zlib-devel pcre-devel openssl-devel cmake*

 

2.解压

tar -zxf mydumper-0.9.1.tar.gz

 

3.cd mydumper-0.9.1.tar.gz

cmake .

 

4.make

 

5.验证

mydumper -V

若果能出现:mydumper 0.9.1, built against MySQL 5.7.26 则表明成功

 

使用案例:

备份

1.备份 ty 库,带建库建表语句

# ./mydumper -h 192.168.65.3 -u root -p 123 -P 3306 -B ty -o /root/sss/

 

2.过滤指定库

# /root/mydumper-0.9.1/mydumper --regex '^(?!(mysql|sys))' -o /root/sss/

 

3.不带表结构备份表

# mydumper -u leshami -p pwd -B sakila -T actor -m

 

4.备份时输出详细日志

# mydumper -u leshami -p pwd -B sakila -T actor -v 3 -o /tmp/bak

 

5.设置长查询的上限,如果存在比这个还长的查询则退出mydumper,也可以设置杀掉这个长查询

# mydumper -u leshami -p pwd -B sakila --long-query-guard 200 --kill-long-queries

 

恢复

1.恢复 ty 库

# ./myloader -h 192.168.65.4 -u root -p 123 -P 3308 -B ty -d /root/sss/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ty_FFTQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值