是否可以在 Amazon RDS 上使用 MySQL UDF?

Is it possible to use MySQL UDF on Amazon RDS?

我需要在数据库更改时发送 HTTP 请求,所以我使用的是 mysqludf 扩展。

它在本地工作,但我怎样才能让它在 Amazon RDS 上也工作?如果不可能,我需要一个解决方案,将 MySQL 触发器与 sys_exec 函数或类似的东西一起使用。

有人可以帮助我吗?

谢谢!

绝对不是。 RDS 实例以两种方式锁定,以防止您安装 UDF;不要与存储函数混淆,UDF 是用 C 编写并编译的。然后必须将二进制共享对象文件复制到 MySQL 服务器的文件系统,您无法使用 RDS(这是一个)访问该文件系统,并且您必须具有 SUPER 权限才能实际加载来自文件的 UDF 插件,RDS 没有提供(那是两个)。

此外,您不能在 RDS 上使用 sys_exec()sys_eval(),因为这些函数不是内置的。它们也是 UDF 插件。

这是与 RDS(或任何 "managed" 数据库服务器服务,我怀疑)的权衡之一。为了换取简单性和点击配置,您需要放弃一些东西。

在 RDS 中没有办法做你想做的事。

如果您的最终要求是通过从 RDS 数据库上的某些 sql 操作触发来调用某些外部 API,您可以利用 AWS SNS 和 lambda 来实现此目的。这不是一条直路,但会达到目的。事实上,我已使用此解决方法来满足我的要求之一。您可以找到线程 here.