尝试在 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。
- 创建新的 RDS 参数组或者,您可以修改当前参数组(如果它不是默认参数组)并跳过步骤 3-5。
log_bin_trust_create_function_creators
将该参数组的值更改为 1- 还需更改 RDS 实例当前使用的参数组中具有非默认值的任何参数。这是必要的,因为一个 RDS 实例只能与一个参数组关联
- 修改您的 RDS 实例,以便它使用新的参数组
- 等待参数组更改显示在事件日志中
- 重新启动 RDS 实例。
log_bin_trust_create_function_creators
标记为动态变量,因此不需要重新启动,但我总是需要重新启动 RDS 实例才能使更改生效。也许还有其他方法,但我还没有找到。