MySQL增量恢复数据-错误更新后恢复

增量恢复数据:

1.开启log-bin日志

开启mysql  log-bin日志:

cat /etc/my.cnf

log-bin=mysqlbin_oldboy

 

查看log-bin日志:

[root@node201 bin]#mysqlbinlog ../bin-log.000001

如果不能停止数据库,要切割bin-log日志:

防止其它数据插入到现有的bin-log日志里面去

[root@node201mysql5621]# ./bin/mysqladmin -uroot -p flush-log

执行这条语句将会增加一个新的bin-log记录

bin-log.000002    //原来只有

bin-log.000003  //执行命令后新增加的bin-log日志

 

 

bin-log日志生成一个bin.sql文件:

[root@node201mysql5621]# ./bin/mysqlbinlog bin-log.000002 >bin.sql

[root@node201 mysql5621]#./bin/mysqlbinlog -d oldboy bin-log.000002 >bin_oldboy.sql//-d指定数据库

当有多个bin-log文件时可以通过追加的方式统一加到bin_oldboy.sql里面

[root@node201mysql5621]# ./bin/mysqlbinlog -d oldboy bin-log.0000012 >>bin_oldboy.sql

[root@node201mysql5621]# ./bin/mysqlbinlog -d oldboy bin-log.0000013 >>bin_oldboy.sql

[root@node201mysql5621]# ./bin/mysqlbinlog -d oldboy bin-log.0000014 >>bin_oldboy.sql

 

 

通过查看bin_oldboy.sql文件将不需要恢复的SQL语句删除:

SETTIMESTAMP=1465823509/*!*/;

insert into testvalues(6,'xiaozhnag')

/*!*/;

# at 540

//如果将insert into test values(6,'xiaozhnag') 这条语句删除则恢复时将不会插入这条语句

 

将生成的SQL语句恢复进数据库:

[root@node201mysql5621]# mysqll -uroot oldboy < ./bin_oldboy.sql

 

 

分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS