有什么更好的方法可以从一个大型数据库(可能超过25GB的转储)从RDS MySQL 5.7从圣保罗/巴西快速迁移到北弗吉尼亚州的RDS Aurora。
但是我不能让数据库停止超过3个小时(或者可能更少),因为这个数据库是一个公司的生产。
非常感谢你提前。
您试图移动数据库并同时将引擎从MySQL更改为Aurora时出错。
立即迁移MySQL 5.7系统,稍后转换为Aurora。你不需要惹麻烦,同时做两件事就是这样。
无法通过距离“快速”迁移主数据库,但可以使建立时间量无关紧要,激活时间接近于零。
不要尝试复制,而是创建数据的RDS跨区域副本,并在最后时刻将该副本提升为主副本。
在不同的AWS区域中创建只读副本
使用Amazon RDS,您可以在与源数据库实例不同的AWS区域中创建MariaDB,MySQL或PostgreSQL只读副本。您创建只读副本以执行以下操作:
- 改善您的灾难恢复功能。
- 将读取操作扩展到更靠近用户的AWS区域。
- 使从一个AWS区域中的数据中心迁移到另一个AWS区域中的数据中心变得更加容易。
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html#USER_ReadRepl.XRgn
RDS复制数据和设置副本所需的时间并不重要,因为一旦复制它,它就会开始复制自进程开始以来主服务器上发生的所有更改。
一旦你确认一切都是正确和一致的,那么你promote a replica。它永久且不可撤销地与其原始上游实例分离,并且变得可写。这是您做的最后一件事,在应用程序开始写入这个新数据库之后,您在圣保罗的原始系统已经过时,因为对它的更改将不再复制到新系统 - 它们将永久隔离。
此安排不要求您建立任何网络或使数据库可公开访问。
并且,您可以创建和销毁多个副本来测试此过程,而不会影响生产。