MySQL备份教程(3)逻辑备份之mydumper与myloader

tanglu 716 2021-04-03

一、mydumper介绍

mydumper是一款基于mysqldump进行过优化的逻辑备份工具,它能多线程并发备份和还原,效率比mysqldump更高。在同一服务器进行80G数据的备份还原测试,使用mydumper进行备份时间为5分钟左右,恢复时间为80分钟,相比mysqldump的备份还原,提升了2倍以上的性能。使用mydumper备份后,需要使用myloader工具进行还原


二、mydumper的备份与还原

1、安装mydumper与myloader

yum install https://github.com/maxbube/mydumper/releases/download/v0.10.1/mydumper-0.10.1-2.el7.x86_64.rpm


2、mydumper备份常用选项介绍

· -B | --database:指定需要备份的数据库,该选项只能指定单个库

· -o | --outputdir:备份文件存放路径

· -x | --regex:使用正则表达式指定需要备份的库表,如"linuxe.&|mysql.*|python.study" 

· -t | --threads:备份并发线程数,默认4


3、mydumper备份示例

#全量备份
mydumper -u root -p '123456' -h 192.168.1.100 -o /data/backup/

#指定单库备份
mydumper -u dba -p "123456" -S /tmp/mysql3314.sock --database sec_phobos_core  --threads 8  --statement-size 10000000 -o /data/backup/fubusi/

#指定表备份
mydumper -u root -p '123456' -B linuxe -T tableA,tableB -o /data/backup/

#指定表备份,仅备份数据,不包含结构
mydumper -u root -p '123456' -B linuxe -T tableA -m -o /data/backup/


4、备份所创建的SQL文件以数据库名开头,有schema的SQL文件代表是表结构创建语句,没有的是数据插入语句。另有一个metadata文件记录备份时的binlog信息,可以用于主从搭建

cat metadata
Started dump at: 2015-01-02 18:09:40 
SHOW MASTER STATUS: 
        Log: mysql-bin.000006 
        Pos: 4196075 
Finished dump at: 2015-01-02 18:09:40


5、使用myloader进行还原时选项和值要用空格分隔,否则会出错

· -e:如果是还原到主库架构的实例中,需要开启该选项,否则还原过程不会产生binlog,从库无法同步

#从备份文件中还原指定库
myloader -u root -p '123456' -B linuxe -d /data/backup/mydumper_20210330
#从备份文件中还原指定表
myloader -u root -p '123456' -B linuxe -o tableA -d /data/backup/mydumper_20210330
#还原pandora数据库到主从架构的实例
myloader -u "dba" -p '123456' -S /tmp/mysql30009.sock -B pandora -e -d /data/backup/pandora/
#实测发现单表恢复需要用mysql工具进行恢复
mysql -udba -p"123456" -S /tmp/mysql3333.sock linuxe < linuxe.test.sql
版权声明
本站所有文章均为原创,转载请注明出处!小站维护不易,如果对您有所帮助,希望能点击一下站内广告,谢谢!
上一篇:MySQL备份教程(2)物理备份之xtrabackup/innobackupex
下一篇:MySQL备份教程(4)使用LVM逻辑卷进行数据备份教程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

微信二维码