实时MySQL二进制日志解析

实时MySQL二进制日志解析,mysql,Mysql,我们正在处理一个构建在MySQL 5.0(MyISAM)上的遗留应用程序。我需要实时了解特定表何时发生更新、删除或插入。问题是我不能以任何方式更改db(即写入触发器)。我必须使用bin日志、复制或其他一些非侵入性的东西 我们已经研究了使用'mysqlbinlog'命令来解析二进制日志。然而,这不是实时的,我们更愿意做一些事件驱动的事情 有什么想法吗?检查一下。它允许您在命令/响应流中点击右键,并且在Lua中完全可编程。你甚至可以实时修改命令,如果你想,我正在尝试使用mysqlbinlog-R-t

我们正在处理一个构建在MySQL 5.0(MyISAM)上的遗留应用程序。我需要实时了解特定表何时发生更新、删除或插入。问题是我不能以任何方式更改db(即写入触发器)。我必须使用bin日志、复制或其他一些非侵入性的东西

我们已经研究了使用'mysqlbinlog'命令来解析二进制日志。然而,这不是实时的,我们更愿意做一些事件驱动的事情


有什么想法吗?

检查一下。它允许您在命令/响应流中点击右键,并且在Lua中完全可编程。你甚至可以实时修改命令,如果你想,我正在尝试使用mysqlbinlog-R-t来实时获取提要,它一直工作到最后,然后你需要找到最后读取的位置,并在那里继续,再加上对日志文件的查询,这应该会给你一个接一个的所有文件。。。。我正在对此进行试验。

另外,如果您想实时了解一个表上是否发生了更改,那么我建议您在主表上进行触发,然后您可以将数据插入单独的数据库中,该数据库可以自行复制。在触发器内部,您甚至可以使用联邦服务器访问另一台服务器

我们已经研究了一点,这可能会奏效。计划是:1)更改MySQL侦听的端口,然后在MySQL的旧端口上设置。2) 捕获表中的操作并调用一些shell命令。然而,我们更愿意以类似于守护程序的方式使用mysqlbinlog。MySQL代理不再是主动开发的。MySQL路由器用类似的功能取代了它。你们有并没有为此想出什么办法?