当试图在RDS中创build一个触发器时,我得到一个关于二进制日志logging的错误

当试图在RDS中创build触发器时,出现以下错误:

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权限或禁用二进制日志logging?

我不知道是否有办法获得超级权限,但有一种方法来禁用二进制日志logging(从而消除了创build触发器需要超级权限)。 这是通过将variableslog_bin_trust_create_function_creators设置为1来完成的。

  1. 创build一个新的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被标记为可dynamic的,因此不需要重新启动,但是我总是需要重新启动RDS实例才能使更改生效。 也许还有另一种方式,但我还没有find。