本地MySQL服务器无法连接到AWS RDS数据库实例

5

我正在尝试使用以下命令将本地机器上的.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

但是出现了这个错误:

错误 2003 (HY000):无法连接到MySQL服务器“mydbinstance.cyz1k1vacvdd.us-east-1.rds.amazonaws.com”(10060) mysqldump:写入时出现errno 22

我该如何处理这个问题?


2
你是否编辑了RDS主机的安全组,以打开MySQL TCP端口,以允许你的IP地址访问? - Phil
5个回答

6
如果有人仍在寻找解决方案,就像我曾经一样,我通过在我的RDS实例中设置安全组来完成了此操作。只需转到该安全组,您将在“安全性和网络”部分中找到单击。在进入该安全组页面后,编辑入站规则,将源更改为0.0.0.0/0(表示从所有地方接受)临时,然后导入您的数据库转储。那应该可以工作。但请记住,在生产环境中,您可能需要恢复此设置。

啊,问题解决了!但是你能告诉我为什么它不安全吗?想要滥用它的人无论如何都必须知道用户名和密码,对吧? - SexyBeast

5

是的,将应用程序与数据库实例连接时,Amazon Beanstalk应用程序和RDS安全组必须相同。

右键单击数据库实例,使用Beanstalk应用程序添加新的安全组。


5
屏幕截图或源材料可能会有帮助。 - JSuar

0
我曾经遇到过同样的错误,后来我通过将mysql.exe添加到我所连接的机器的防火墙中解决了这个问题。

0

我更喜欢使用MySQL Workbench。它比命令行方式更易于使用和用户友好。

它提供了一个简单的GUI界面。

MySQL Workbench或SQL Yog。

以下是我所做的步骤。

1)安装MySQL Workbench。

2)在AWS控制台中,必须为您的RDS实例添加一个安全组。向该组添加一个入站规则,以允许来自您的计算机的连接。这很简单。添加您的IP地址。

3)打开MySQL Workbench,添加新连接。

4)给连接取一个您喜欢的名称。

5)选择连接方法-标准TCP/IP

6)在主机名字段中输入您的RDS端点(mydbinstance.cyz1k1vacvdd.us-east-1.rds.amazonaws.com)。

7)端口:3306

8)用户名:主用户名(在创建RDS实例期间创建的用户名)(root)

9)密码:主密码(admin admin)

10)单击“测试连接”以检查您的连接。

11)如果连接成功,请单击“确定”。

12)打开连接。

13) 在那里您将看到您的数据库'e_learning_system'。

14) 现在,您可以将您的mysqldump文件导出到这个数据库。前往->服务器。点击数据导入。

15) 您可以通过打开一个空白的SQL文件并键入基本的SQL命令,如使用数据库、从表中选择*来检查数据是否已迁移;


1
这并没有回答问题。问题在于他的数据库实例没有接受传入连接。使用工作台无法解决这个问题。 - Joe M

0

错误2003表示无法连接到MySQL服务器。请检查您是否在RDS安全组中允许了连接到RDS的机器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接