我们正在处理基于MySQL 5.0(MyISAM)构建的遗留应用程序。当在特定表中发生更新,删除或插入时,我需要在实时中知道。 'gotcha'是我无法以任何方式改变数据库(即写入触发器)。我必须使用bin日志,复制或其他一些非侵入性的东西。
我们已经研究过使用'mysqlbinlog'命令来解析二进制日志。然而,这不是实时的,我们宁愿做更多事件驱动的事情。
有什么想法吗?
答案 0 :(得分:6)
检查MySQL Proxy。它允许您在命令/响应流中点击,它在Lua中完全可编程。你甚至可以实时修改命令,如果你想要
答案 1 :(得分:0)
我正在尝试使用mysqlbinlog -R -t实时获取feed,它一直工作到最后,然后你需要找到最后一个读取的位置,并继续那里,结合对日志文件的查询,这应该给出你们所有的文件一个接一个......我正在试验这个..
答案 2 :(得分:0)
此外,如果您想实时了解一个表上是否发生了更改,那么我建议您在主服务器上创建一个触发器,然后您可以将数据插入到复制的单独数据库中它自己的。在触发器内部,您甚至可以使用联合服务器访问另一台服务器。 http://dev.mysql.com/tech-resources/articles/mysql-federated-storage.html