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

时间:2015-05-13 14:06:00

标签: mysql amazon-web-services amazon-ec2 export amazon-rds

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

4 个答案:

答案 0 :(得分:83)

不确定

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

mysql -u local_user_name -p local_db < dump.sql

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

的密码

将其上传到本地mySql实例:

ec2

此外,如果您在同一地区拥有scp服务器,我建议您在那里转储。压缩文件,然后将public function getSuggestions($part) { $where = new Where(); $where->like('name', '%'.$part.'%'); return $this->select($where)->toArray(); } 压缩到本地计算机。通常,文件的压缩版本会小得多,您可以更快地传输它。

答案 1 :(得分:13)

从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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

  1. 创建新的EC2 Linux2实例
  2. 连接SSH
  3. 安装Docker

    • 更新实例上已安装的软件包和软件包缓存。
        

      sudo yum update -y

    • 安装最新的Docker社区版软件包。
    • Amazon Linux 2。
        

      sudo amazon-linux-extras安装docker

    • Amazon Linux。

        

      sudo yum install docker

    • 启动Docker服务。

        

      sudo服务docker start

    • 将ec2-user添加到docker组,以便无需使用sudo即可执行Docker命令。

        

      sudo usermod -a -G docker ec2-user

    • 注销并再次登录以获取新的Docker组权限。您可以通过关闭当前的SSH终端窗口并在新的实例中重新连接到实例来完成此操作。您的新SSH会话将具有适当的docker组权限。

    • 验证ec2-user可以在没有sudo的情况下运行Docker命令。
        

      码头工人信息

  4. 运行mysql容器
      

    docker run -it --network some-network --rm mysql mysql -h some-mysql -u example-user -p

  5. 运行转储sql
      

    mysqldump -h主机-u use_name -P 3306 -p-数据库db_name | gzip> db_name.gz

  6. 将文件从容器复制到主机
      

    docker cp container_id:/ home / home / ec2-user / sql_backup