在主实例上创建触发器时 Aurora MySQL 复制错误

问题描述

我在 AWS 中设置了一个 aurora 跨区域只读副本。目前一切正常,但是当我在主实例上创建触发器时,它会导致从属实例上出现复制错误。触发器的代码如下。

CREATE TRIGGER `mydb`.`user_AFTER_UPDATE` AFTER UPDATE ON `user` FOR EACH ROW
BEGIN

END

我得到的错误是:

Error 'Access denied; you need (at least one of) the SUPER privilege(s) for this operation' on query. Default database: 'mydb'. Query: 'CREATE DEFINER=`myuser`@`%` TRIGGER `mydb`.`user_AFTER_UPDATE` AFTER UPDATE ON `user` FOR EACH ROW
BEGIN

END'

奇怪的是,当我检查slave时,触发器实际上是创建的。但是因为错误阻止了复制,我必须运行以下命令才能跳过错误

CALL MysqL.rds_skip_repl_error; 

我已尝试将 log_bin_trust_function_creators 设置为 1,但似乎没有任何区别。当我在从属实例上运行以下命令时,它说它的值为 ON

SHOW GLOBAL VARIABLES LIKE 'log_bin_trust_function_creators';

我是否也需要在主实例上将该变量设置为 1? 任何帮助将非常感激。我已经在谷歌上搜索了几个小时,但我发现的大部分内容都是关于 MysqL 转储的,这些转储可以删除定义器,但显然在这种情况下这是不可能的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)