mysql误删恢复一例-使用MyFlash

2021-07-06 18:17:18 浏览数 (1)

MyFlash是美团开源的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。

详细参考:https://github.com/Meituan-Dianping/MyFlash

研发同学误删数据后,使用该工具非常顺畅地恢复了误删数据,记录如下:

代码语言:shell复制
#下载安装
git clone https://github.com/Meituan-Dianping/MyFlash.git
cd MyFlash/
yum install glib2*
gcc -w  `pkg-config --cflags --libs glib-2.0` source/binlogParseGlib.c  -o binary/flashback
cd binary/
./flashback  --help
#查找对应的binlog
show master status;flush logs
#生成回滚文件
time ./flashback --tableNames=xxx  --sqlTypes=DELETE --binlogFileNames=/data/dbatemp/rsyncd/mysql-bin.000428
#查看生成文件内容
mysqlbinlog --base64-output=DECODE-ROWS -vv binlog_output_base.flashback | more
#将生成文件加载到库中
mysqlbinlog binlog_output_base.flashback | mysql --defaults-file=/data/mysql_3563/my.cnf test

0 人点赞