AWS文档中有page讨论从MySQL服务器导入和导出数据,但主要是关于导入。我在他们的文档中看到的唯一一种方法是使用复制导出5.6数据,记录为here。我想知道是否有一种更简单的方法来使用mysqldump导出数据并在本地数据库中加载。我想导出的数据库不是很大,可能是1GB,因此大小不是问题。
答案 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。
安装Docker
sudo yum update -y
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组权限。
码头工人信息
docker run -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
docker cp container_id:/ home / home / ec2-user / sql_backup