我正在尝试创建一个将调用php脚本的MySQL触发器。我有一个运行在RDS中的MySQL服务器实例,并希望使用php脚本向我的SQS消息传递系统发送消息。RDS上的MySQL触发器
- 我该在哪里保存php脚本?
- 我是否需要在EC2实例上安装SQS的PHP SDK?
我正在尝试创建一个将调用php脚本的MySQL触发器。我有一个运行在RDS中的MySQL服务器实例,并希望使用php脚本向我的SQS消息传递系统发送消息。RDS上的MySQL触发器
忘掉触发器,特别是在Amazon RDS上。
使用cron每隔5分钟执行一次PHP脚本(例如),查找未发送的消息并使用SQS消息系统发送它们。
是的,你可以正常使用触发器。 使用此步骤:在 “参数组” 菜单
改变变量:
log_bin_trust_function_creators to "ON" or "1".
做一个 “修改” 和 “重启” 的实例。强制性!
用mysql客户端验证变量是否真的被修改过。命令是:SHOW VARIABLES LIKE 'log_bin_trust%'
现在,您可以正常创建触发器。最大的困难是正确地检查问题:您的实例应该使用该参数组,并且应该正确设置
建议不要使用触发器的任何理由?这有没有一个已知的问题? – user1481054
我认为应尽可能避免触发器。沉重地使用它们使调试在屁股疼痛,因为它们随机顺序执行,当你想知道为什么变化的数据看起来不像预期的时候,你经常不会想到它。 – CodeZombie
不幸的是,它们是CHECK约束条件下MySQL的唯一替代品,这是一个真正的耻辱 –