一尘不染

从MySQL中的触发器调用URL

mysql

我知道这是非常不推荐的

我知道这是性能,速度等方面的问题,但这是为了集成,他们只通过mysql进行更新(我知道这样做也是很疯狂的,但我无法更改其工作方式,进行大量销售,因此他们不想更改任何东西)。

我只需要发布到一个URL(它可以像http://www.google.com?id=skuid一样简单)

我阅读了这些博客和堆栈,但是它们已有2年以上的历史了,想知道是否可以使用udf替代方法:

http://open-bi.blogspot.pe/2012/11/call-restful-web-services-from-
mysql.html

http://www.mooreds.com/wordpress/archives/1497

使用mysql触发器调用php文件

非常感谢一切!!


阅读 1014

收藏
2020-05-17

共1个答案

一尘不染

要触发外部动作,您必须使用UDF-这mysql是向“外部世界”传达某些信息的唯一方法。唯一的选择是外部代理不断轮询数据库-
这是一个较差的解决方案。

至于UDF的选择,

  • 为了最大程度地减少数据库上的负载,它可能应该很快完成(请注意UDF是同步运行的)。
  • 因此,除非安装规模足够小,否则它只会将事件通知外部代理。这也使DB端的错误处理最小化。
    • 否则,如果您还不关心,则可以例如仅花费curl所有的钱就产生。

想到的方式:

  • 生成一个小程序-例如touch,代理监视的某些文件。有一个现有的sys_exec使用system()(所有适当的考虑)。
  • IPC(信号是最简单的;与其他信号一起,您可以传递其他信息,但需要更多设置)

正如sys_exec的资料所示,编写UDF并不难,因此您实际上并不局限于已有的东西(这可以解释为什么lib_mysqludf_sys如此有限:如果您需要更好的东西,那么编写任务就足够容易了,具体功能)。当前文档位于26.4.2添加新的用户定义函数-
MySQL 5.7参考手册

2020-05-17