点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!
恢复流程:
1)先使用备份数据恢复出全部备份的数据 2)使用binlog日志恢复出增量数据到误操作之前


mysqldump -p -d test --single-transaction --set-gtid
-purged=off --master-data=2 --flush-logs --routines --
triggers --events --extended-insert=true> test.sql

single-transaction
此选项会将隔离级别设置为:REPEATABLE READ。并且随后再执行一条START TRANSACTION语句,让整个数据在dump过程中保证数据的一致性,这个选项对InnoDB的数据表很有用,且不会锁表。但是这个不能保证MyISAM表和MEMORY表的数据一致性。
master-data=2
在bin-log日志里记录备份到了哪个位置,比如说binlog名称,binlog位置。
set-gtid-purged=off
表示在备份时不输出跟 GTID 相关的信息。
flush-logs
命令的作用就是关闭当前使用的binary log,然后打开新的binary log文件,文件的序号加1。
extended-insert
代表长INSERT,多row在一起批量INSERT提高导入效率。
routines,events,triggers
备份的时候将过程,函数,触发器,事件进行备份。
2.3 进行增量数据插入






mysqlbinlog -uroot -p --start-position=154
/var/lib/mysql/mysql-bin.000002 --base64-output=decode-rows -vv
start-position: 日志开始位点,mysqlbinlog从哪个位点开始解析binlog日志. stop-position 日志结束位点,mysqlbinlog到哪个位点结束解析binlog日志.

mysqlbinlog -uroot -p --start-position=154
--stop-position=787 var/lib/mysql/mysql-bin.000002>000003binlog.sql



本文作者:张 建(上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




