简介:MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。
安装:
git clone https://github.com/Meituan-Dianping/MyFlash.git
cd MyFlash
gcc -w pkg-config --cflags --libs glib-2.0
source/binlogParseGlib.c -o binary/flashback
cd binary
./flashback --help --查看帮助
使用: 下面的这些参数是可以任意组合的。
* 1.databaseNames
指定需要回滚的数据库名。多个数据库可以用“,”隔开。如果不指定该参数,相当于指定了所有数据库。
测试: /root/test/MyFlash/binary/flashback --binlogFileNames=/MySQLlog/mysql-bin.000011 --start-datetime="2018-01-04 13:50:00" --stop-datetime="2018-01-04 14:35:00" --databaseNames=test --tableNames=test_tb --sqlTypes='UPDATE','DELETE' --outBinlogFileNameBase=test_tb mysqlbinlog --no-defaults --base64-output=decode-rows -vv binlog_output_base.flashback --查看回滚sql mysqlbinlog --no-defaults binlog_output_base.flashback |mysql -uroot -pyourpass --执行恢复 可以在.bash_profile增加 alias flashback="/root/test/MyFlash/binary/flashback" 以后即可这样使用 flashback --binlogFileNames=/mysqllog/mysql-bin.000011 --start-datetime="2018-01-04 13:50:00" --stop-datetime="2018-01-04 14:35:00" --databaseNames=test --tableNames=test_tb --sqlTypes='UPDATE','DELETE' --outBinlogFileNameBase=test_tb