无法从本地MySQL连接到MySQL AWS RDS实例

时间:2015-02-27 10:15:01

标签: mysql amazon-web-services amazon-rds amazon-vpc

我用VPC创建了一个MySQL RDS实例。现在我尝试使用MySQL客户端通过以下代码从我的Ubuntu 12.04机器连接到该RDS实例:

mysql -u uname -h test.c6tjb4nxvlri.us-west-2.rds.amazonaws.com -P 3306 -p

但是我收到了这个错误:

ERROR 2003 (HY000): Can't connect to MySQL server on 'test.c6tjb4nxvlri.us-west-2.rds.amazonaws.com' (110)

我搜索了这个错误,并且无处不在的解决方案就像

一样
  • 转到实例
  • 查找安全组
  • 更改该安全组的入站规则
  • 添加用户计算机公共IP或
  • 的来源
  • 将source ip设置为0.0.0.0/16

enter image description here

我尝试了一切,但仍然发生同样的错误。有什么解释吗?

2 个答案:

答案 0 :(得分:2)

问题出在子网中。您创建的子网必须可公开访问。

答案 1 :(得分:0)

  1. 在内部部署MySQL Workbench中,使用 TCP / IP SSH隧道选项。确保您具有EC2实例端点和密钥对文件。
  2. 在SSH端点 - 添加EC2实例端点,对于SSH密码,浏览密钥对。 MySQL的其余配置。像MySQL的端点,用户名,密码,端口和模式名称。
  3. 测试您的连接,它将返回成功。如果没有,请检查RDS安全组。在安全组中,您打开所有IP地址的MySQL端口。试试吧!它会工作。一旦连接成功,所有模式都可以在MySQL Workbench中看到。
  4. RDS数据库实例不必位于公共子网中,这不是最佳做法。始终将RDS数据库实例保留在私有子网中,并为EC2实例打开流量。
  5. 当您使用TCP / IP SSH隧道时,请求流量将通过EC2实例发送到RDS数据库实例。

    HTH。