嘗試在 RDS 中建立觸發器時,出現以下錯誤:
ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is
enabled (you *might* want to use the less safe log_bin_trust_function_creators
variable)
有沒有辦法取得超級權限或停用二進位日誌記錄?
答案1
我不知道是否有辦法獲得超級權限,但有一種方法可以停用二進位日誌記錄(從而消除了建立觸發器時需要具有超級權限的需求)。這是透過設定變數來完成的log_bin_trust_create_function_creators至 1。
- 建立新的 RDS 參數組。或者,您可以修改目前參數組(如果不是預設參數組)並跳過步驟 3-5。
log_bin_trust_create_function_creators
將該參數組的值變更為 1- 也要更改 RDS 實例目前使用的參數組中具有非預設值的所有參數。這是必要的,因為一個 RDS 實例只能與一個參數組關聯
- 修改您的 RDS 實例,以便它使用新的參數組
- 等待參數組變更顯示在事件日誌中
- 重新啟動 RDS 實例。
log_bin_trust_create_function_creators
被標記為動態可變,因此不需要重新啟動,但我始終需要重新啟動 RDS 實例才能使變更生效。也許還有另一種方法,但我還沒找到。