使用MySQL 5.7 for MySQL Aurora在不同地区之间快速迁移RDS

问题描述 投票:0回答:1

有什么更好的方法可以从一个大型数据库(可能超过25GB的转储)从RDS MySQL 5.7从圣保罗/巴西快速迁移到北弗吉尼亚州的RDS Aurora。

但是我不能让数据库停止超过3个小时(或者可能更少),因为这个数据库是一个公司的生产。

非常感谢你提前。

  • 在圣保罗地区没有MySQL Aurora(迁移的原因之一,除了费用是北弗吉尼亚州的两倍)
  • 如有必要,RDS只能在迁移期间公开访问。
  • 我将无法使用多可用区。使用“AWS数据库迁移服务”是否可行?
  • 我还必须迁移链接到此数据库的实例EC2和S3,主要是EC2以避免延迟问题。
  • 迁移后将停止圣保罗地区的所有服务。
  • 我之前说过的主要原因是长期和短期的成本降低(将被视为使用保留实例)以及性能,以及实例EC2以避免延迟和不稳定性问题。
mysql amazon-web-services amazon-rds amazon-rds-aurora
1个回答
0
投票

您试图移动数据库并同时将引擎从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。它永久且不可撤销地与其原始上游实例分离,并且变得可写。这是您做的最后一件事,在应用程序开始写入这个新数据库之后,您在圣保罗的原始系统已经过时,因为对它的更改将不再复制到新系统 - 它们将永久隔离。

此安排不要求您建立任何网络或使数据库可公开访问。

并且,您可以创建和销毁多个副本来测试此过程,而不会影响生产。

© www.soinside.com 2019 - 2024. All rights reserved.