如何将数据库从 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