这个项目监听mysql binlog(作为从机)并将binlog事件发送到blinker信号。它可以记住最后一个BILCOP位置,并作为MySQL从机工作。
mysqlbinlog2blinker的Python项目详细描述
功能
此包使用 mysql-replication 从mysql的binlog读取事件并发送到blinker的信号。
- binlog操作级别
- 行级别
它只会发送rowsevent。
每当binlog事件出现时,它就会被发送到一些信号中:
- binlog_position_signal:1个binlog当前位置的信号
- binlog_信号:binlog事件的1个信号。
- 行信号:事件行的1个信号。每排1个信号。
信号
共有5个信号:
- binlog_position_signal:每当binlog事件来通知 binlog流的当前位置
- binlog_signal:每当binlog事件来通知binlog事件时发送
- 已插入的行信号,已更新的行信号,已删除的行信号:已发送 以他们的名字命名
连接到信号
要连接到信号,可以使用信号实例或装饰器。
假设需要连接才能在表上写入信号 db0.table1:
frommysqlbinlog2blinkerimportsignals@signal.rows_updated.connectdefon_rows_updated_signal(table_name,rows,meta):pass@signal.binlog_signal.connectdefon_binlog_signal(event,stream):pass
信号发布
开始发布信号
frompymysqlblinkerimportstart_publishingstart_publishing({'host':'localohst','user':'root',},)
复制
这个包支持从mysql数据库复制的方法。它 通过在最后一个binlog位置保留内存来操作。默认情况下,它保存到文件中。
要做到这一点,请致电:
frompymysqlblinkerimportstart_replicationstart_replication({'host':'localohst','user':'root',},('/path/to/file/that/remember/binlog/position',2),)
更改日志
0.1
- 第一个版本