暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
binlog2sql文档
214
5页
5次
2021-09-15
免费下载
binlog2sql
========================
MySQL binlog 解析出你要的 SQL。根据不同选项,你可以得到原始 SQL、回滚 SQL、去除主键的
INSERT SQL 等。
用途
===========
* 数据快速回滚(闪回)
* 主从切换后新 master 丢数据的修复
* binlog 生成标准 SQL,带来的衍生功能
项目状态
===
正常维护。应用于部分公司线上环境。
* 已测试环境
* Python 2.7, 3.4+
* MySQL 5.6, 5.7
安装
==============
```
shell> git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
shell> pip install -r requirements.txt
```
git pip 的安装问题请自行搜索解决。
使用
=========
### 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
### user 需要的最小权限集合:
select, super/replication client, replication slave
建议授权
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO
**权限说明**
* select:需要读取 server information_schema.COLUMNS 表,获取表结构的元信息,拼接成可视
化的 sql 语句
* super/replication client:两个权限都可以,需要执行'SHOW MASTER STATUS', 获取 server
端的 binlog 列表
* replication slave:通过 BINLOG_DUMP 协议获取 binlog 内容的权限
### 基本用法
**解析出标准 SQL**
```bash
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`=4 LIMIT 1; #start 981 end 1147
```
**解析出回滚 SQL**
```bash
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
```
### 选项
**mysql 连接配置**
-h host; -P port; -u user; -p password
**解析模式**
--stop-never 持续解析 binlog。可选。默认 False,同步至执行命令时最新的 binlog 位置。
-K, --no-primary-key INSERT 语句去除主键。可选。默认 False
-B, --flashback 生成回滚 SQL,可解析大文件,不受内存限制。可选。默认 False。与 stop-never
no-primary-key 不能同时添加。
--back-interval -B 模式下,每打印一千行回滚 SQL,加一句 SLEEP 多少秒,如不想加 SLEEP,请设为
0。可选。默认 1.0
**解析范围控制**
--start-file 起始解析文件,只需文件名,无需全路径 。必须。
--start-position/--start-pos 起始解析位置。可选。默认为 start-file 的起始位置。
of 5
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜