mysqlbinlog历史sql查询和恢复
Mysql 命令:查看 binlog 文件
show binary logs;
远程拉取 binlog 日志
mysqlbinlog -umaxen -p -h127.0.0 --read-from-remote-server --raw mysql-bin.001219 > /home/mysql-bin.001218
通过sql语句搜索 binlog日志记录
mysqlbinlog --no-defaults --base64-output=decode-rows -vv mysql-bin.001216 | grep -A 10 '154208742380744704'
通过第三方工具恢复
github上面有很多开源可使用的工具,可以对执行修改的sql语句提供恢复sql,当需要恢复的数据很多时,用工具可以节省很多时间。
我使用到一款离线解析的工具:https://github.com/hanchuanchuan/bingo2sql
下载下来后,通过以下语句可以恢复:
./bingo2sql --start-file='./mysql-bin.001218' -t attendance.sql -B true --sql-type delete > './tmpdir/001218rollback.sql'