我以行格式启用了mysql binlog。 我正在使用mysqlbinlog来解析binlog文件。 我正在使用这个命令:
mysqlbinlog --base64-output=decode-rows -vv ./mysql-bin.000004
此命令返回我必须解析的sql语句以生成json。
我在python中使用了pymysqlreplication模块,但是它没有从binlog文件中读取。它需要实时的mysql复制连接。我无法使用主服务器访问存档的binlog文件。
有没有办法解析存档的binlog文件并生成json?
答案 0 :(得分:1)
您可以使用binlog-parser。
用于将MySQL binlog文件解析为JSON的工具。读取binlog输入文件,在数据库中查询字段名称,将JSON写入stdout。
答案 1 :(得分:0)
您可以使用
https://github.com/noplay/python-mysql-replication
一些独立项目如其页面所述使用此方法。
我已经基于sqlparse(python)创建了一个单独的binlog解析器。链接:
https://github.com/monothorn/mysql-parser