Home

Awesome

bingo2sql

MySQL Binlog 解析工具

从MySQL binlog解析出原始SQL,对应的回滚SQL等。

功能说明

限制和要求

测试对比

测试步骤及结束详见 效率测试

支持模式

1. 本地解析

bingo2sql --start-file=~/db_cmdb/blog/mysql-bin.000001 -t table.sql

其中-t参数指定的是建表语句文件,内容类似:

-- 需要解析哪个表,提供哪个表的建表语句
CREATE TABLE `tt` (
  id int auto_increment primary key,
  `TABLE_NAME` varchar(64) NOT NULL DEFAULT ''
) ;

2. 远程解析

远程解析的参数及使用均与binlog2sql类似

bingo2sql -h=127.0.0.1 -P 3306 -u test -p test -d db1_3306_test_inc \
  --start-time="2006-01-02 15:04:05" -t t1 -B

3. 解析服务

bingo2sql 支持以服务方式运行,提供解析的HTTP接口支持

bingo2sql --server --config=config.ini

支持选项

解析模式

解析范围控制

对象过滤

-d, --databases 只解析目标db的sql,多个库用逗号隔开,如-d db1,db2。可选。默认为空。

-t, --tables 只解析目标table的sql,多张表用逗号隔开,如-t tbl1,tbl2。可选。默认为空。

--ddl 解析ddl,仅支持正向解析。可选。默认false。

--sql-type 只解析指定类型,支持 insert,update,delete。多个类型用逗号隔开,如--sql-type=insert,delete。可选。默认为增删改都解析。

附加信息

mysql连接配置 (仅远程解析需要)

 -h host
 -P port
 -u user
 -p password

致谢

bingo2sql借鉴和学习了很多业界知名的开源项目,在此表示感谢!