前置条件:
[mysqld]server_id = 1log_bin = /var/log/mysql/mysql-bin.logmax_binlog_size = 1Gbinlog_format = rowbinlog_row_image = full
使用条件:
Python 2.7, 3.4+MySQL 5.6, 5.7
安装binlog2sql前先安装git和pip:
yum -y install epel-release yum -y install git python-pip
安装binlog2sql:
git clone /danfengcao/binlog2sql.git && cd binlog2sqlpip install -r requirements.txt
处在binlog2sql目录下,解析出基本SQL:
shell> python ./binlog2sql.py -h127.0.0.1 -P3306 -uroot -p'admin' -dnpl_system -ttest --start-file='mysql-bin.000008'
解析出回滚SQL,注意“--flashback”:
shell> python ./binlog2sql.py --flashback -h127.0.0.1 -P3306 -uroot -p'admin' -dnpl_system -ttest --start-file='mysql-bin.000008'
解析出回滚SQL到文件中
shell> python ./binlog2sql.py --flashback -h127.0.0.1 -P3306 -uroot -p'admin' -dnpl_system -ttest --start-file='mysql-bin.000008' -B > rollback55.sql | cat