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

问题描述 投票:48回答:4

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

mysql amazon-web-services amazon-ec2 export amazon-rds
4个回答
87
投票

当然。

从远程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它到您的本地机器。通常,文件的压缩版本会小得多,您可以更快地传输它。


15
投票

从RDS导出数据库

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

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

在RDS上导入db

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

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


2
投票

从RDS导出数据的最佳方法是创建新的EC2实例来连接和转储mysql。

  1. 创建新的EC2 Linux2实例
  2. 连接SSH
  3. 安装Docker 更新实例上已安装的软件包和软件包缓存。 sudo yum update -y 安装最新的Docker Community Edition软件包。 亚马逊Linux 2。 sudo amazon-linux-extras安装docker 亚马逊Linux。 sudo yum安装码头 启动Docker服务。 sudo服务码头工人开始 将ec2-user添加到docker组,以便您可以在不使用sudo的情况下执行Docker命令。 sudo usermod -a -G docker ec2-user 注销并重新登录以获取新的docker组权限。您可以通过关闭当前的SSH终端窗口并重新连接到新实例来完成此操作。您的新SSH会话将具有相应的docker组权限。 验证ec2用户可以在没有sudo的情况下运行Docker命令。 码头工人信息
  4. 运行mysql容器 docker run -it --network some-network --rm mysql mysql -h some-mysql -u example-user -p
  5. 运行dump sql mysqldump -h host -u use_name -P 3306 -p --databases db_name | gzip> db_name.gz
  6. 将文件从容器复制到主机 docker cp container_id:/ home / home / ec2-user / sql_backup

1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.