我正在尝试在 Amazon RDS 数据库中的表上创建触发器,但似乎无法实现。
我尝试在我使用的 mysql 客户端 (Navicat) 中的表上创建触发器,但收到错误消息,表明我需要 super 权限才能执行此操作。经过一番搜索,我发现您可以SET GLOBAL log_bin_trust_function_creators = 1
来解决这个问题。我尝试使用以下说明:http://getasysadmin.com/2011/06/amazon-rds-super-privileges/ (然后重新启动数据库服务器以达到良好的效果),但运气不佳。
我还尝试创建触发器并通过 mysql 命令行设置变量,以确保 Navicat 不会向我的 sql 命令添加任何不需要的内容,但这也失败了。从搜索看来也没有办法授予自己SUPER权限。
那么...可以在 RDS 中创建触发器吗?
最佳答案
很简单!
打开 RDS Web 控制台。
打开“参数组”选项卡。
创建一个新的参数组。在对话框中,选择与您的 MySQL 数据库版本兼容的 MySQL 系列,为其命名并确认。
选择刚刚创建的参数组并发出“编辑参数”。
查找参数“log_bin_trust_function_creators”并将其值设置为“1”。
保存更改。
打开“实例”选项卡。展开您的 MySQL 实例并发出名为“修改”的“实例操作”。
选择刚刚创建的参数组并启用“立即应用”。
点击“继续”并确认更改。
再次打开“实例”选项卡。展开您的 MySQL 实例并发出名为“修改”的“实例操作”。
不要忘记:打开“实例”选项卡。展开您的 MySQL 实例并发出名为“Reboot”的“Instance Action”。
通过 - http://techtavern.wordpress.com/2013/06/17/mysql-triggers-and-amazon-rds/
关于triggers - 我可以在 rds DB 中创建触发器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8919907/