尝试在 RDS 中创建触发器时,我收到有关二进制日志记录的错误

2 mysql amazon-web-services amazon-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)
Run Code Online (Sandbox Code Playgroud)

有没有办法获得超级权限或禁用二进制日志记录?

小智 6

我不知道是否有办法获得 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 实例以使更改生效。也许还有另一种方式,但我还没有找到。