2015-02-10 66 views
0

通过指定主机和端口号,我能够在具有ec-2实例上的mysql客户端的VPC上的AWS RDS上运行的MySQL连接。无法从Jbdc访问RDS mysql

当我尝试使用JDBC它来访问,我得到这个例外

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure 

我相信安全组的配置是否正确,因为我能够访问用mysql客户端上的EC2 RDS的MySQL。我该如何调试?

+0

快速说明:您的EC2实例上还运行着JDBC客户端吗?相同的VPC?在场所? – 2015-02-10 16:08:40

+0

是在同一个EC2实例。我只有一个vpc并且只有一个安全组。 @SébastienStormacq – Srinivas 2015-02-10 17:10:55

回答

0

确保分配给您的实例的安全组拥有rds安全组的权限。还要确保你的vpc(如果你使用的话)有适当的网络ACL允许入口和出口流量通过。

0

鉴于您的客户端(MySQL和JDBC)应用程序在同一实例上运行,它排除了许多您可能面临的低级别路由问题。

我会仔细检查下面的列表(排名不分先后)

  • 你试图连接到从CLI和JDBC相同的IP地址?
  • 你是否连接到相同的端口号?
  • 你使用一个连接的DNS和另一个的IP地址?如果是,请检查DNS解析。

正如您所说的,在CLI正在连接时,不太可能对安全组或网络acl进行错误配置。但它也值得三重检查。

+0

我必须创建另一个安全组,而不是ec2实例的默认安全组,然后与RDS关联。这解决了问题。 – Srinivas 2015-02-11 06:31:52

+0

如果我的回答对你有帮助并且是正确的;你能接受吗?谢谢 – 2015-02-22 09:13:59