繁体   English   中英

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

[英]How to export database from Amazon RDS MySQL instance to local instance?

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

当然。

从远程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上导入db

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

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

从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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM