mysql 常用恢复数据方法

mysql Flashback:
1、 误删除闪回步骤
恢复过程

1、找到误删除的binlog保存下来

mysqlbinlog --base64-output=decode-rows -v -v --start-datetime="2016-05-04

13:15:00" mysql-bin.000001 | grep -B 50 '### DELETE FROM test.test' | more

2.下一步,只需把这一段binlog保存下来,以待后面的恢复,执行命令如下。

mysqlbinlog --base64-output=decode-rows -v -v mysql-bin.000001 | sed -n

'/end_log_pos 1049/,/COMMIT/p' | tail -n +2 > /root/recover.binlog

3、恢复

source /root/recover.sql

2、 误更改update闪回步骤
1、同理第一步

2、逆向将delete转为replace into可执行SQL语句

cat recover.binlog | sed -n '/###/p' | sed 's/### //g;s//*.*/,/g;' | sed -n '/UPDATE

test.test/,/SET/p'| sed 's/UPDATE/REPLACE

INTO/g;s/WHERE/SELECT/g;s/SET/n/g' |sed -r 's/(@4.*),/1;/g' | sed

's/@[1-9].*=//g' > /root/recover.sql

3、同理第三步

发表新评论