AWS文档的本页讨论了从MySQL服务器导入和导出数据,但主要涉及导入。我在他们的文档中唯一看到的是使用复制导出5.6数据的方法,该方法在此处记录。我想知道是否有使用mysqldump导出数据并在本地数据库中加载的更简单方法。我要导出的数据库不是很大,可能是1GB,因此大小不是问题。
Answers:
当然。
从远程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
其压缩到本地计算机。通常,文件的压缩版本会小得多,您可以更快地进行传输。
从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 <remote_db.sql
当提示您输入密码时,请提供密码
从RDS导出数据的最佳方法是创建新的EC2实例以连接和转储mysql。
安装Docker
sudo yum更新-y
sudo amazon-linux-extras安装docker
Amazon Linux。
sudo yum安装docker
启动Docker服务。
sudo服务docker start
将ec2-user添加到docker组,以便无需使用sudo即可执行Docker命令。
sudo usermod -a -G docker ec2-user
注销并再次登录以获取新的Docker组权限。您可以通过关闭当前的SSH终端窗口并在新的实例中重新连接到实例来完成此操作。您的新SSH会话将具有适当的Docker组权限。
码头工人信息
docker运行-it --network some-network --rm mysql mysql -h some-mysql -u example-user -p
mysqldump -h主机-u use_name -P 3306 -p-数据库db_name | gzip> db_name.gz
泊坞窗cp container_id:/ home / home / ec2-user / sql_backup
--compress
选项添加到mysqldump
以便从远程服务器更快地进行传输。生成的输出文件未压缩,但是通过电线您可以看到大量的带宽节省和更快的传输。