mysql数据恢复工具----binlog2sql

概述

对于MySQL数据库中的误操作删除数据的恢复问题,可以使用基于MySQL中binlog做到类似于闪回或者生成反向操作的SQL语句来实现,是MySQL中一个非常实用的功能。原理不难理解,基于MySQL的row格式的binlog中,记录历史的增删改SQL信息,基于此解析出来对应的SQL语句(回滚的话就是反向的SQL语句)。

步骤
  • 开启mysql相关二进制配置信息
[mysqld]
server_id = 1
log_bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 1G
binlog_format = row
binlog_row_image = full
  • 安装binlog2sql
git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
pip install -r requirements.txt
  • 使用binlog2sql生成恢复的sql文件

     解析出标准SQL

python binlog2sql.py -h127.0.0.1 -P3306 -uadmin -p'admin' -dtest -t test3 test4 --start-file='mysql-bin.000002'

 解析出回滚SQL

python binlog2sql.py --flashback -h127.0.0.1 -P3306 -uadmin -p'admin' -dtest -ttest3 --start-file='mysql-bin.000002' --start-position=763 --stop-position=1147

 具体用法参考:

  https://github.com/danfengcao/binlog2sql

posted @ 2018-03-27 18:13  rcj_飞翔  阅读(86)  评论(0)    收藏  举报