我想编写一个服务来拖尾mysql bin日志以获取有关数据库更改的通知。
是否有一个开源库以ROW格式读取和解析mysql bin日志?
答案 0 :(得分:1)
使用mysqlbinlog
。
服务器的二进制日志由包含“事件”的文件组成 描述对数据库内容的修改。服务器写这些 二进制格式的文件。要以文本格式显示其内容,请使用 mysqlbinlog实用程序。你也可以使用mysqlbinlog来显示 从服务器在复制中写入的中继日志文件的内容 设置,因为中继日志的格式与二进制日志相同。
答案 1 :(得分:0)
您可以使用 https://github.com/monothorn/mysql-parser 它基于python中的sqlparse。 由于您已启用Binlog行格式,因此您可以签出 https://github.com/noplay/python-mysql-replication
答案 2 :(得分:0)
您可以使用以下命令读取bin-log文件:
read -p "Enter the Log File Name : " logfilename; mysqlbinlog $logfilename | grep -i ^use | sort | uniq -c | sort -rn
答案 3 :(得分:0)
我使用这个:https://github.com/alibaba/canal。
它是用Java编写的,并且在conf文件中进行了一些更改,您可以开始使用,内部的细节已经为您服务。
文档为中文。但是代码结构简单明了,并且conf文件的变量名很容易说明,因此您可以通过一些努力来弄清楚:)
答案 4 :(得分:0)
github上用java写的两个项目:mysql-binlog-connector-java和mysql-binlog-connector-java可以帮你解析mysql binlog。