如何将数据库从 Amazon RDS MySQL 实例导出到本地实例?

Posted

技术标签:

【中文标题】如何将数据库从 Amazon RDS MySQL 实例导出到本地实例?【英文标题】:How to export database from Amazon RDS MySQL instance to local instance? 【发布时间】:2015-07-24 21:17:13 【问题描述】:

AWS 文档有这个page,它讨论了从 mysql 服务器导入和导出数据,但主要是关于导入。我在他们的文档中看到的唯一内容是一种使用复制导出 5.6 数据的方法,该方法记录在 here 中。我想知道是否有一种更简单的方法可以使用 mysqldump 导出数据并加载到本地数据库中。我要导出的数据库不是很大,可能是 1GB,所以大小不是问题。

【问题讨论】:

【参考方案1】:

当然。

从远程 RDS 服务器获取转储:

mysqldump -h rds.host.name -u remote_user_name -p remote_db > dump.sql

当提示输入密码时,提供 user=remote_user_name(远程服务器)的密码

上传到你本地的 mySql 实例:

mysql -u local_user_name -p local_db < dump.sql

另外,如果您在同一地区拥有ec2 服务器,我建议您在那里转储。压缩文件,然后将scp 压缩到您的本地计算机。通常,文件的压缩版本会小得多,您可以更快地传输它。

【讨论】:

或者,将--compress 选项添加到mysqldump 以更快地从远程服务器传输。生成的输出文件未压缩,但通过网络您可以看到显着的带宽节省和更快的传输。 但是您可能需要添加更多标志来补偿,例如 -K 这样您就不会在导入时遇到外键问题 如果无法连接,您可能需要将您的 IP 添加到安全组。它位于 EC2 仪表板 > 网络和安全 > 安全组中 是的。 ***.com/a/2987371/174184【参考方案2】:

从 RDS 导出数据库

mysqldump -h rds.host.name -u remote_user_name -p remote_db > remote_db.sql

当提示输入密码时,提供密码

在 RDS 上导入数据库

mysql -h rds.host.name -u remote_user_name -p remote_db 

当提示输入密码时,提供密码

【讨论】:

【参考方案3】:

另一个非常简单的选择是使用 MySql Workbench。在工具栏中选择“数据库”和“数据导出”。选择正确的选项,目标文件......你就完成了!很简单!

【讨论】:

不幸的是,即使是中等大小的数据集,这也会非常缓慢。

以上是关于如何将数据库从 Amazon RDS MySQL 实例导出到本地实例?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 MySQL Workbench 连接到 Amazon RDS?

将数据从 CSV 文件导入 Amazon Web Services RDS MySQL 数据库

将数据从 RDS MySQL 同步到 Amazon Redshift

从 Amazon RDS 下载 MySql 备份/快照

如何将本地 MySQL 数据库同步到 Amazon RDS 数据库?

Amazon Data Pipeline“将 S3 数据加载到 RDS MySQL”查询格式?