我有一个mysql数据库实例,部署在Amazon上的多属性配置中。在过去两个月中,我们看到复制失败了几次,错误消息如下,
Apply Error 1590: The incident LOST_EVENTS occured on the master. Message: error writing to the binary log仔细查看副本上的日志,我注意到它试图执行一个事件(我们在主服务器上有一个心跳事件,即ENABLED,并且在副本上应该处于SLAVESIDE_DISABLED状态(S)。仔细看看,我意识到失败的副本在ENABLED状态下有这个事件,而且由于服务器是以-只读的形式运行的,所以它在尝试运行事件时失败了。复制日志中有如下错误。
2016-02-28 20:55:00 16040 [ERROR] Event Scheduler: [database_name@%][database_name.update_heartbeat_event] The MySQL server is running with the --read-only option so it cannot execute this statement我尝试在主服务器上删除事件,但它对副本没有任何影响,大概是因为此时复制失败了。
除了从主目录中创建一个新的只读副本之外,还有任何帮助修复这个问题的指针吗?
谢谢
发布于 2016-02-28 22:15:32
看起来AWS有一个错误,当创建带有事件的mysql数据库的只读副本时,它用ENABLED状态而不是SLAVESIDE_DISABLED在副本上创建事件。
我通过重新创建失败的副本来验证这一点。当它从快照创建副本时,它会将事件放入错误的状态。
在主服务器上删除和重新创建事件(S)通过创建具有正确状态的相同事件来解决问题。
https://dba.stackexchange.com/questions/130726
复制相似问题