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)

SUPER 権限を取得したり、バイナリ ログを無効にする方法はありますか?

答え1

SUPER権限を取得する方法があるかどうかはわかりませんが、バイナリログを無効にする方法はあります(これにより、トリガーを作成するためにSUPER権限を持つ必要がなくなります)。これは、変数を設定することで行われます。log_bin_trust_create_function_creators1 に。

  1. 新しいRDSパラメータグループを作成するまたは、現在のパラメータ グループ (デフォルトのパラメータ グループではない場合) を変更し、手順 3 ~ 5 をスキップすることもできます。
  2. そのパラメータグループの値をlog_bin_trust_create_function_creators1に変更します
  3. また、RDSインスタンスが現在使用しているパラメータグループ内のデフォルト以外の値を持つパラメータも変更します。これは、RDSインスタンスが関連付けられるパラメータグループは1つだけであるため必要です。
  4. 新しいパラメータグループを使用するようにRDSインスタンスを変更します。
  5. パラメータグループの変更がイベントログに表示されるまで待ちます。
  6. RDS インスタンスを再起動します。log_bin_trust_create_function_creators動的変数としてラベル付けされているため、再起動は必要ありませんが、変更を有効にするには、常に RDS インスタンスを再起動する必要がありました。別の方法があるかもしれませんが、まだ見つけていません。

関連情報