我正在嘗試創建一個將調用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的唯一替代品,這是一個真正的恥辱 –