1

我们的客户正在运行一个带有多个从属的单主(在一个集群中)。

现在,他希望我们编写一些(仅)在从属设备上添加、更新或删除新记录时在从属设备上运行的触发器。此触发器应运行外部 java 程序。

这可能吗 ?推荐的 ?

我们如何从触发器运行 java 程序?推荐/安全吗?

有什么需要注意的问题吗?

4

1 回答 1

1

是的,这是可能的。您需要在从属设备上创建这些触发器,它们将在读取和执行 binlog 时触发。

您可以使用 MySQL Forge (或此链接)提供的 sys_exec UDF执行外部程序。

SELECT sys_exec('/path/to/program')

请注意程序的作用,直到外部程序返回 - 查询不会完成。如果它需要进一步处理,我建议创建某种在端口上侦听的排队系统,以便您可以立即exit(0)让程序完成它的工作并释放 mysql 线程,以便查询可以完成。

于 2011-10-21T10:24:05.390 回答