安装

源码安装,需要下载依赖
二进制
使用二进制文件时,python binlog2sql.py换成binlog2sql

案例:恢复某一时间段删除的值

1. 解析出某一时间段的binlog,并拿到执行该操作的 start positionstop position

  1. # 1. 解析binlog
  2. mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.004489 --start-datetime='2021-09-03 17:10:00' --stop-datetime='2021-09-03 17:30:00' > /root/log
  3. # 2. 根据执行操作的表名等关键字拿到 start position
  4. # 3. 根据 start position 下的gtid,找到下一个gtid,并拿到上一个position,这个就是 stop position

2. 使用 binlog2sql.py 解析binlog,生成反向操作 SQL

  1. python binlog2sql.py --flashback -h10.123.36.45 -P3312 -uhotdb_datasource -p'hotdb_datasource' -ddb02 -tmed_dfr_d --start-file='mysql-bin.004489' --stop-file='mysql-bin.004489' --start-position=94460877 --stop-position=94491302 > /root/lyf/rollback.sql