背景:当MySQL数据库无操作(drop,delete),如何通过mysql binlog文件找回来?
我们可以通过定时备份,先还原到某个时间点,然后用binlog2sql工具将mysql binlog文件生成指定时间段的SQL语句:
1. 下载binlog2sql工具:
https://github.com/danfengcao/binlog2sql
2. binlog2sql解压后,将如mysql-bin.000102放到binlog2sql-master/binlog2sql 目录下
3. 执行命令,生成指定时间段的SQL文件:
python binlog2sql.py -h141.91.24.182 -P3306 -uroot -p'acbcs2!#' -dDBtest --start-file='mysql-bin.000102' --start-datetime='2018-11-26 17:10:00' --stop-datetime='2018-11-26 17:40:00' > ./sql_102.sql
4. 在生成的SQL文件中搜索含关键字的语句,如:
grep "5bfb30bfba46f.mp4" sql.sql_org > out.log
cat out.log
这样就可以找到相关的SQL语句。