
select:需要读取 server 端 information_schema.COLUMNS 表,获取表结构的元
信息,拼接成可视化的 sql 语句
super/replication client:两个权限都可以,需要执行'SHOW MASTER STATUS',
获取 server 端的 binlog 列表
replication slave:通过 BINLOG_DUMP 协议获取 binlog 内容的权限
2.2 基本用法
2.2.1 基本用法
解析出标准 SQL
shell> python binlog2sql.py -h127.0.0.1 -P3306 -uadmin -
p'admin' -dtest -t test3 test4 --start-file='mysql-bin.000002'
输出:
INSERT INTO `test`.`test3`(`addtime`, `data`,
`id`) VALUES ('2016-12-10 13:03:38', 'english', 4);#start
570 end 736
UPDATE `test`.`test3` SET `addtime`='2016-12-10 12:00:00',
`data`='中文',
`id`=3 WHERE `addtime`='2016-12-10 13:03:22' AND `data`='中文
' AND `id`=3 LIMIT 1; #start 763 end 954
DELETE FROM `test`.`test3` WHERE `addtime`='2016-12-10
13:03:38' AND`data`='english' AND `id`=4LIMIT 1; #start
981 end 1147
shell> 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
输出:
INSERT INTO `test`.`test3`(`addtime`, `data`,
`id`) VALUES ('2016-12-10 13:03:38', 'english', 4);
#start 981 end 1147
UPDATE `test`.`test3` SET `addtime`='2016-12-10 13:03:22',
`data`='中文',
`id`=3 WHERE `addtime`='2016-12-10 12:00:00' AND `data`='中文
' AND `id`=3 LIMIT 1; #start 763 end 954
评论