【MySQL运维】使用binlog2sql工具实现数据回滚
972
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
发表评论
暂时没有评论,来抢沙发吧~