原创:binlog2sql在GitHub的地址:https://github.com/danfengcao/binlog2sql
作者:
功能:从MySQL binlog解析出你要的SQL。根据不同选项,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。
用途:
数据快速回滚(闪回)
主从切换后数据不一致的修复
从binlog生成标准SQL,带来的衍生功能。
安装:
安装git:yum install git
安装pip:
wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
tar -xzvf pip-1.5.4.tar.gz && cd pip-1.5.4
python setup.py install
安装binlog2sql:
git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
pip install -r requirements.txt
使用:
MySQL server必须设置以下参数:
[mysqld]
server_id = 1
log_bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 1G
binlog_format = row
binlog_row_image = full
需要一个恢复的帐号,这个帐号需要最小的权限说明:
* select:需要读取server端information_schema.COLUMNS表,获取表结构的元信息,拼接成可视化的sql语句
* super/replication client:两个权限都可以,需要执行'SHOW MASTER STATUS', 获取server端的binlog列表
* replication slave:通过BINLOG_DUMP协议获取binlog内容的权限
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'liujy'@'%' identified by '123456';