如何从预置的 Aurora 迁移到 Aurora Serverless,或者从 Aurora Serverless 迁移到预置的 Aurora?
上次更新日期:2022 年 11 月 23 日
我想在预置的 Amazon Aurora 数据库实例和 Aurora Serverless 数据库实例之间迁移。我该如何操作?
简短描述
有两种方法可用于在预置和无服务器之间迁移:
- 快照还原。
- 逻辑备份和还原。
解决方法
快照还原
- 打开 Amazon Relational Database Service (Amazon RDS) 控制台,然后在导航窗格中选择数据库。
- 选择要迁移到预置或无服务器的 Aurora 集群,然后选择操作,接着选择拍摄快照。如需了解更多信息,请参阅创建数据库集群快照。
- 导航到 Amazon RDS 控制台的快照部分。
- 选择操作,然后选择还原快照。如需了解更多信息,请参阅从数据库集群快照还原。
- 根据您要执行的操作,选择预置或无服务器。
注意:Aurora Serverless 仅适用于特定的引擎版本。如需了解更多信息,请参阅 Aurora Serverless v1 和 Aurora Serverless v2。 - 对于 Aurora Serverless v1,从数据库实例设置的容量类型中选择无服务器。对于 Serverless v2,从实例配置部分的数据库实例类中选择无服务器。
- 对于数据库集群标识符,输入已还原集群的名称。
- 指定任何其他设置。如需了解更多信息,请参阅 Aurora 数据库集群的设置。
- 选择还原数据库集群。
逻辑备份和还原
创建新的数据库集群
- 打开 Amazon RDS 控制台,然后从导航窗格中选择数据库。
- 选择创建数据库。
注意:Amazon Aurora 并非在所有 AWS 区域都可用。有关 Aurora 可用的 AWS 区域列表,请参阅可用区域。 - 在引擎选项中选择 Amazon Aurora。
- 在版本中,从以下选项中选择一项:
a.兼容 MySQL 的 Amazon Aurora
b.兼容 PostgreSQL 的 Amazon Aurora - 选择引擎版本。
注意:Aurora Serverless 仅适用于特定的引擎版本。如需了解更多信息,请参阅 Aurora Serverless v1 和 Aurora Serverless v2。 - 指定任何其他设置。如需了解更多信息,请参阅创建数据库集群。
- 选择创建数据库。
创建逻辑备份和还原
- 连接到源数据库集群。如果使用 PostgreSQL,则运行 pg_dump。如果使用 MySQL,则运行 mysqldump。
- 连接到新的数据库集群。如果使用 PostgreSQL,则使用 pg_restore 还原其上的转储。如果使用 MySQL,则使用 mysql 命令还原其上的转储。
如何避免数据丢失
为避免两个集群之间的数据丢失,停止源集群上的所有写入活动,直至完成新创建或还原的集群的还原或迁移。在创建快照、mysqldump 或 pg_dump 之前,停止所有写入活动。
当新的 Aurora 集群可用时,将您的应用程序或写入操作定向到该集群,确保不会丢失任何写入操作。
注意:以下示例使用了 "example-cluster" 的名称。例如,将旧集群重命名为 "example-cluster-old"。然后,将新集群重命名为 "example-cluster"。从而使用相同的集群端点将应用程序连接到新集群。例如,使用 "example-cluster.cluster-...rds.amazonaws.com" 作为写入器,使用 "example-cluster.cluster-ro-...rds.amazonaws.com" 作为读取器端点。