微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在主实例上创建触发器时 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 举报,一经查实,本站将立刻删除。