是否可以从 Amazon Aurora 迁移回 Amazon RDS 中的原生 MySQL?

Is it possible to migrate back from Amazon Aurora to native MySQL in Amazon RDS?

我看到亚马逊推出了新的 Amazon Aurora MySQL migration 从原生 MySQL 到 Amazon Aurora MySQL。

是否可以使用 Amazon RDS 从 Amazon Aurora 迁移回常规 MySQL?

Amazon 的 Aurora MySQL wire compatible so you can always use tools such as mysqldump 可以将您的数据恢复为您可以用来导入回 RDS 中的常规 MySQL 实例 运行、EC2 实例或其他任何地方。

自发布此答案以来,Amazon 还发布了 Database Migration Service,可用于在 MySQL -> Aurora MySQL 之间进行零停机迁移(Aurora 现在也支持 PostgreSQL)和背部。它还支持异构迁移,例如从 Oracle 到 Aurora MySQL 或许多其他源和目标。

如果是小型数据库,可以使用Navicat或MySQL Workbench等工具将数据导出出来。对于大型数据库,您可以为 Windows 或 Linux 下载 aws cli,对于 Linux 它预装在 Amazon Linux AMI 上。使用 aws configure 设置凭据和区域。从 cli 中使用 mysqldump 记住 --single-transaction 选项以避免锁定并从 slave replica.

对于数据子集,您可以使用:(Windows 示例)

mysql> SELECT * FROM database.table
WHERE ......
into OUTFILE '/location/of/path/dumpfile.txt'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n";
Query OK.... 

将您需要的内容提取为平面文件,这样可以更快地加载到任何其他 MySQL 环境中。您还可以 设置权限以将平面文件加载到 s3 中 并在文件不大的情况下再次导出到任何地方。但是对于大数据,请使用mysqldump。

Percona 有一个 series of steps 可以遵循,其中概述了如何从 Aurora 主服务器设置 MySQL 副本。然后您就可以从那里将它带到 RDS MySQL。在某些情况下,这种手动方法可能很有意义。

概览:

  1. 捕捉极光实例
  2. 启动临时 Aurora 实例
  3. 转储它 (mysqldump)
  4. 创建副本
  5. 迁移流量

然而,正如@ydaetskcoR 所建议的那样,Amazon 已经定义了用于使用 DMS 设置此类副本的工具和用例。我会开始 here 是该用例的直接 link。