尝试在 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

我不知道是否有办法获得 SUPER 权限,但有一种方法可以禁用二进制日志记录(从而消除了创建触发器时需要 SUPER 权限的需要)。这可以通过设置变量来实现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 实例才能使更改生效。也许还有其他方法,但我还没有找到。

相关内容