我正在尝试使用以下命令将我的.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#
我该如何纠正?
答案 0 :(得分:5)
是的,Amazon Beanstalk应用程序和RDS安全组必须相同才能将应用程序连接到数据库实例。
右键单击数据库实例并使用beanstalk application添加新的安全组..
答案 1 :(得分:5)
如果有人仍在寻找像我这样的解决方案,我设法通过在我的RDS实例中设置安全组来完成它。只需转到该安全组,您将在“安全和网络”部分找到该单击。进入该安全组页面后,编辑入站规则,将源更改为0.0.0.0/0
(意味着全部接受),然后导入数据库转储。这应该工作。但请记住,您可能希望将此设置还原为生产。
答案 2 :(得分:2)
我更喜欢使用MySQL工作台。它更容易和更容易用户友好的命令行方式。
它提供了一个简单的GUI。
MySQL workbench或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端点。
7)港口:3306
8)用户名:主用户名(在创建RDS实例期间创建的用户名)(root)
9)密码:主密码(admin admin)
10)单击“测试连接”以检查连接。
11)如果连接成功,请单击“确定”。
12)打开连接。
13)你会在那里看到你的数据库'e_learning_system'。
14)现在您可以将mysqldump文件导出到此数据库。转到 - >服务器。单击“数据导入”。
15)您只需打开一个空白的SQL文件即可检查数据是否已迁移。输入基本的SQL命令,比如use database,select * from table;
答案 3 :(得分:0)
错误2003表示没有连接到mysql服务器。检查您是否允许机器从RDS安全组中的RDS连接位置。
答案 4 :(得分:0)
我收到同样的错误,我通过将mysql.exe添加到我连接的机器的防火墙来解决它。