RDS 快照在使用复制设置时似乎无法像我预期的那样工作。我想得到一些指导,如果我做出了不正确的假设,或者只是做错了什么。
事情是这样的:
- 我将 RDS 实例设置为外部 mysql 实例的从属实例(在 AWS 外部(
- 我让实例赶上,复制成功运行了几天,在 RDS 上拍摄了从属服务器的夜间快照。
- 某些查询意外地在从属服务器上运行,导致复制错误,并导致数据库完全不同步。
- 我从快照中恢复了从属服务器。
我所期望的:
- 快照恢复后,新从属数据库上的复制将能够赶上主数据库的位置。
实际发生了什么:
- 还原快照后,将还原数据,但未还原复制设置。
show slave status
返回空值。
TLDR;AWS 文档指出 RDS 快照会备份整个数据库实例,因此我希望其所有设置也都已备份,包括外部主节点的设置,但事实似乎并非如此。 RDS 快照功能有哪些限制,如果从站太不同步,应如何处理与外部主服务器的复制?
谢谢!
如果您在问题中提到的复制错误会长时间停止复制,Amazon AWS RDS 将停止复制。这样做是为了防止源端的存储需求过多。使用快照还原 RDS 副本时,在这种情况下,新副本将永远不会赶上,因为在这种情况下,二进制日志也会从源中删除。AWS 文档中提到了这一点,但它也指出,要发生这种情况,复制错误应持续一个月。