在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一 简介python-mysql-replication 是基于python实现的 MySQL复制协议工具,我们可以用它来解析binlog 获取日志的insert,update,delete等事件 ,并基于此做其他业务需求。比如数据更改时失效缓存,监听dml事件通知下游业务方做对应处理。 其项目信息 二 实践2.1 安装配置获取源代码 git clone http://www.github.com/noplay/python-mysql-replication 使用pip 安装
权限: 可以直接使用复制账号也可以使用其他账号,但是该账号必须 SELECT, REPLICATION SLAVE, REPLICATION CLIENT 权限 GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON . TO 'replicator'@'%' IDENTIFIED BY 'xxxxx'; 数据库日志相关的参数设置如下: log_bin=on ,binlog_format=row,binlog_row_image=FULL 2.2 核心类介绍
该实例提供解析 binlog 各种事件的集合,每个事件也是一个对象。 初始化BinLogStreamReader()实例需要使用的参数如下: 2.3 如何使用呢?最简单的用法 脚本名 pyreplica.py 开启两个窗口,一个窗口执行,另外一个窗口操作mysql 写入或者修改数据
输出如下: 2.3 拓展基于该工具提供的日志事件解析我们可以做很多事情,比较有名的工具 binlog2sql 利用该工具解析binlog 做数据回滚 。
执行脚本结果 如下图 除了解析binlog,我们还可以用py 总结 以上所述是小编给大家介绍的基于python的mysql复制工具,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对极客世界网站的支持! |
请发表评论