是否可以从 Amazon Aurora 迁移回 Amazon RDS 中的原生 MySQL?
Posted
技术标签:
【中文标题】是否可以从 Amazon Aurora 迁移回 Amazon RDS 中的原生 MySQL?【英文标题】:Is it possible to migrate back from Amazon Aurora to native MySQL in Amazon RDS? 【发布时间】:2015-12-24 00:45:34 【问题描述】:我看到 Amazon 将新的 Amazon Aurora mysql migration 从原生 MySQL 引入到 Amazon Aurora MySQL。
是否可以使用 Amazon RDS 从 Amazon Aurora 迁移回常规 MySQL?
【问题讨论】:
您可以使用mysqldump
从 Aurora 导出数据库并使用该输出重新填充您的 MySQL 数据库吗?
【参考方案1】:
Percona 有一个 series of steps 可以遵循,其中概述了如何从 Aurora 主服务器设置 MySQL 副本。然后,您就可以从那里将它带到 RDS MySQL。在某些情况下,这种手动方法可能有意义。
概述:
-
捕捉 Aurora 实例
调出一个临时 Aurora 实例
转储它 (mysqldump)
创建副本
迁移流量
然而,正如@ydaetskcoR 所建议的那样,亚马逊已经定义了用于使用 DMS 设置此类副本的工具和用例。我会开始 here 是指向该用例的直接链接。
【讨论】:
【参考方案2】:如果是小型数据库,可以使用 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。
【讨论】:
【参考方案3】:Amazon 的 Aurora 是 MySQL wire compatible,因此您始终可以使用诸如 mysqldump 之类的工具将您的数据恢复为一个表单,您可以使用该表单将其导入到在 RDS、EC2 实例或任何地方运行的常规 MySQL 实例中其他的。
自从发布此答案以来,亚马逊还发布了Database Migration Service,它可用于在 MySQL -> Aurora MySQL(Aurora 现在也支持 PostgreSQL)之间进行零停机迁移。它还支持异构迁移,例如从 Oracle 到 Aurora MySQL 或许多其他源和目标。
【讨论】:
感谢您的回答。更加具体 。要从 MySQL 迁移到 Amazon 的 Aurora,您只需在 RDS 控制台中单击几下即可进行迁移。我想知道是否可以反之亦然。从 RDS 控制台从 Amazon 的 Aurora 迁移到 MySQL? 不,您不能从 RDS 控制台从 Aurora 迁移到 MySQL。如果您需要从 Aurora 进行最短停机时间迁移,则可以使用此处列出的一些复制选项:docs.aws.amazon.com/AmazonRDS/latest/UserGuide/…以上是关于是否可以从 Amazon Aurora 迁移回 Amazon RDS 中的原生 MySQL?的主要内容,如果未能解决你的问题,请参考以下文章
Amazon Aurora Postgres 是不是支持 lambda 调用?
Amazon Aurora 1.8 从 S3 加载数据 - 无法实例化 S3 客户端
开箱-10分钟学会使用 Amazon Aurora Serverless构建无服务器应用程序
如何更改 Amazon Aurora DB 中的 character_set_server?