我正在尝试使用以下命令将我的.sql转储从本地计算机导入AWS RDS数据库实例:
C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump --host=localhost
--user=root --password=admin e_learning_system | mysql
--host=mydbinstance.cyz1k1vacvdd.us-east-1.rds.amazonaws.com
--user=root --password=adminadmin e_learning_system
但是它抛出了这个错误:
ERROR 2003(HY000):无法连接到MySQL服务器'mydbinstance.cyz1k1vacvdd.us-east-1.rds.amazonaws.com'(10060)mysqldump:写错了22
我该如何纠正?
5 回答
是的,Amazon Beanstalk应用程序和RDS安全组必须相同才能将应用程序连接到数据库实例 .
右键单击数据库实例并使用beanstalk应用程序添加新的安全组 .
如果有人仍在寻找像我这样的解决方案,我设法通过在我的RDS实例中设置安全组来完成它 . 只需转到该安全组,您将在"Security and Network"部分找到该点击 . 进入该安全组页面后,编辑入站规则,暂时将源更改为
0.0.0.0/0
(意味着全部接受),然后导入数据库转储 . 这应该工作 . 但请记住,您可能希望将其恢复为 生产环境 时的此设置 .我更喜欢使用MySQL工作台 . 它比命令行方式更容易和用户友好 .
它提供了一个简单的GUI .
MySQL工作台或SQL Yog .
这些是我所做的步骤 .
1)安装MySQL Workbench .
2)在AWS控制台中,您的RDS实例必须有一个安全组 . 将入站规则添加到该组以允许来自您的计算机的连接 . 这很简单 . 添加您的IP地址 .
3)打开MySQL工作台,添加新连接 .
4)为连接指定一个您喜欢的名称 .
5)选择连接方法 - 标准TCP / IP
6)在主机名字段(mydbinstance.cyz1k1vacvdd.us-east-1.rds.amazonaws.com)中输入您的RDS endpoints .
7)港口:3306
8)用户名:主用户名(在创建RDS实例期间创建的用户名)(root)
9)密码:主密码(admin admin)
10)单击“测试连接”以检查连接 .
11)如果连接成功,请单击“确定” .
12)打开连接 .
13)您将在那里看到您的数据库'e_learning_system' .
14)现在您可以将mysqldump文件导出到此数据库 . 转到 - >服务器 . 单击数据导入 .
15)您可以通过打开一个空白的SQL文件并输入基本的SQL命令来检查数据是否已经迁移,例如使用数据库,select * from table;
错误2003表示没有连接到mysql服务器 . 检查您是否允许机器从RDS安全组中的RDS连接位置 .
我得到了同样的错误,我通过添加mysql.exe ...解决了它到我连接的机器的防火墙 .