暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
5.数据闪回.docx
8
16页
0次
3天前
50墨值下载
binlog2sql
binlog2sql 介绍
binlog2sql 可以从 MySQL binlog 解析出你要的 SQL。根据不同选项,你可以得到原始
SQL、回滚 SQL、去除主键的 INSERT SQL 等。
用途
1. 数据快速回滚(闪回)
2. 主从切换后新 master 丢数据的修复
3. binlog 生成标准 SQL,带来的衍生功能
限制(对比 mysqlbinlog
1. mysql server 必须开启,离线模式下不能解析
2. 参数 binlog_row_image 必须为 FULL,暂不支持 MINIMAL
3. 解析速度不如 mysqlbinlog
项目网站:https://github.com/danfengcao/binlog2sql
适用环境
Python 2.7, 3.4+
MySQL 5.6, 5.7
最后一次更新是 6 年前的事情了,一些开源工具上线生产的时候还是需要注意。
MySQL8.0 的暂时还是不要使用了。
安装 b inlog2sql
yum -y install python3
[root@localhost ~]# python3 --version
Python 3.6.8
[root@localhost ~]# pip3 --version #pip3 包含在 python3 里,python3 安装后 pip 就有了
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)
git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
--注意:如果是 mysql 8.0 需要修改以下配置,将 PyMySQL 0.7.11 调整为 0.9.3
cat requirements.txt
PyMySQL==0.9.3
whee1==0.29.0
mysq1-replication==0.13
pip3 install -r requirements.txt
[root@localhost ~]# pip3 list
mysql-replication (0.13)
pip (9.0.3)
PyMySQL (0.9.3)
setuptools (39.2.0)
wheel (0.29.0)
binlog2sql 参数
1.binlog2sql 参数
python3 binlog2sql.py --help
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 的起始位置。
--stop-file/--end-file 终止解析文件。可选。默认为 start-file 同一个文件。若解析模式为
stop-never,此选项失效。
--stop-position/--end-pos 终止解析位置。可选。默认为 stop-file 的最末位置;若解析模式为
stop-never,此选项失效。
--start-datetime 起始解析时间,格式'%Y-%m-%d %H:%M:%S'。可选。默认不过滤。
--stop-datetime 终止解析时间,格式'%Y-%m-%d %H:%M:%S'。可选。默认不过滤。
对象过滤
-d, --databases 只解析目标 db sql,多个库用空格隔开,如-d db1 db2。可选。默认为空。
-t, --tables 只解析目标 table sql,多张表用空格隔开,如-t tbl1 tbl2。可选。默认为空。
--only-dml 只解析 dml,忽略 ddl。可选。默认 TRUE
--sql-type 只解析指定类型,支持 INSERT, UPDATE, DELETE。多个类型用空格隔开,
--sql-type INSERT DELETE。可选。默认为增删改都解析。用了此参数但没填任何类型,
则三者都不解析。
2.mysql server 相关参数
# 在配置文件 my.cnf mysqld 这个区下设置
[mysqld]
server_id = 1
log_bin = ON
max_binlog_size = 1G
binlog_format = row
of 16
50墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

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