将 RDS 复制到新数据库的最快方法

Quickest way to copy RDS to new database

我在某个地区(比如爱尔兰)有一个生产 RDS。

我想创建一个暂存环境(比如在伦敦)并且我需要生产数据。

解决此问题的一种方法是典型的 mysqldump/在新区域创建 RDS/mysqlimport

我想知道以下是否有效。

a) 创建从我的生产 RDS 到伦敦的只读副本(即我想要暂存环境的区域); (由于上述复制的异步性质,我可以容忍一些轻微的数据丢失)

b) 将新的只读副本(在伦敦)提升到主数据库中;

我唯一担心的是步骤 b 是否会使我在爱尔兰的生产 RDS 失效;我能以某种方式避免这种情况吗?

在 RDS 中将副本提升为主副本(通常 MySQL)对原始主副本没有影响。提升 MySQL 异步副本使其成为独立的主节点,永久断开与其原始上游主节点的连接。生产数据将出现在新实例上,因为它在连接被切断时存在。不支持更新或重新同步,因为升级是一次性和永久的。

这两个实例在集群中不是对等的(即使在同一区域),所以新晋升的主节点在任何意义上都不会 replace/override/modify/invalidate 旧的 - 当然,除非你还更改您的应用程序以指向新实例...您不会这样做。