Aurora-mysql 跨区域副本因视图/过程/函数失败

Aurora-mysql 跨区域副本因视图/过程/函数失败

更新2- AWS 发布了 Aurora-mysql 平台更新 1.19.1,解决了此问题和其他问题。https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.1191.html

更新- AWS Support 确认这是 Aurora mysql 1.x 平台跨区域副本的一个已知问题。解决方法是在mysql.rds_skip_repl_error;主服务器上进行视图/过程/功能更改后调用副本,直到副本解除卡住,然后在副本上手动进行这些视图/过程/功能更改

当我使用 Amazon Aurora-mysql (1.x 平台,5.6 引擎版本) 设置跨区域复制时,它工作正常,直到我在主服务器中创建视图、函数或过程,然后从服务器遇到错误并且复制停止,直到我调用CALL mysql.rds_skip_repl_error;。错误是:

[ERROR] Slave SQL: Error 'Access denied; you need (at least one of) the SUPER privilege(s) for this operation' on query. Default database: 'mydatabasename'. Query: 'CREATE DEFINER=`myusername`@`%` PROCEDURE `MyProcedureName`... (SNIP SQL HERE)'
2019-05-09 02:29:10 8118 [Warning] Slave: Access denied; you need (at least one of) the SUPER privilege(s) for this operation Error_code: 1227
2019-05-09 02:29:10 8118 [Warning] Slave: Access denied; you need (at least one of) the SUPER privilege(s) for this operation Error_code: 1227
2019-05-09 02:29:10 8118 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin-changelog.000016' position 24293051

这是因为从属服务器以rdsrepladmin用户身份运行复制,但是当我在主服务器上创建过程时,我以身份登录myusername。我无法将 DEFINER 设置为除此之外的任何东西,因为 Aurora 不允许我拥有 SUPER 权限(您需要该权限才能以其他用户身份创建视图/过程/函数)。

我似乎也无法忽略视图/过程/功能作为复制的一部分。

CALL mysql.rds_skip_repl_error;除了每次接触视图/过程/功能时调用从属程序之外,还有其他方法可以解决这个问题吗?

相关内容