嘗試在 RDS 中建立觸發器時,出現有關二進位日誌記錄的錯誤

嘗試在 RDS 中建立觸發器時,出現有關二進位日誌記錄的錯誤

嘗試在 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。

  1. 建立新的 RDS 參數組。或者,您可以修改目前參數組(如果不是預設參數組)並跳過步驟 3-5。
  2. log_bin_trust_create_function_creators將該參數組的值變更為 1
  3. 也要更改 RDS 實例目前使用的參數組中具有非預設值的所有參數。這是必要的,因為一個 RDS 實例只能與一個參數組關聯
  4. 修改您的 RDS 實例,以便它使用新的參數組
  5. 等待參數組變更顯示在事件日誌中
  6. 重新啟動 RDS 實例。log_bin_trust_create_function_creators被標記為動態可變,因此不需要重新啟動,但我始終需要重新啟動 RDS 實例才能使變更生效。也許還有另一種方法,但我還沒找到。

相關內容