【发布时间】:2017-07-12 03:50:15
【问题描述】:
我知道这个问题似乎是重复的,但事实并非如此,我已经尝试了所有我能找到的解决方案
问题:
我正在为数据库运行 AWS RDS 实例。当我使用 AWS EC2 实例(使用 linux)连接到它时它工作正常,但是当我用我的笔记本电脑尝试它时,它不起作用。我想在 Eclipse 上工作(现在我在笔记本电脑上编写代码并在 EC2 实例上对其进行测试,这非常烦人且非常不方便)。这是错误。
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection timed out: connect
STACKTRACE:
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at execs.Connect.main(Connect.java:13)
** END NESTED EXCEPTION **
Last packet sent to the server was 1 ms ago.
Conn is null.
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2847)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at execs.Connect.main(Connect.java:13)
我已经尝试过:
- 我检查了 RDS 的安全组,它设置为接受端口 3306 (0.0.0.0/0) 的所有入站流量和所有出站流量。
- 我已在 Windows(笔记本电脑)防火墙上启用了来自 Eclipse 的所有出站和入站流量。
- 尝试完全禁用防火墙。
- 尝试检查 eclipse 的网络配置。
什么都没有发生!
【问题讨论】:
-
您对数据库的“可公开访问”的设置是什么?这是在(默认)VPC 中吗?
-
非常感谢@tedder42。它没有,但我该如何改变它
-
我完全同意你的看法,这就是现在的设置。我知道这是一个糟糕的主意,但我正在学习和练习,我希望设置方便,以便我可以从 eclipse 中使用它。我想我必须使用以前的快照创建另一个实例。
-
您可以在 Eclipse 中通过 ssh 隧道使用它。您只需告诉 Eclipse 数据库位于 localhost:3306 并启动隧道。
-
@tedder42 请您详细说明一下。我是新手。它仍然不起作用我创建了另一个具有公共可访问性的实例,并且我得到了同样的错误。
标签: eclipse amazon-web-services amazon-ec2 amazon-rds