2017-10-07 25 views
0

如果我这样做:的Java JDBC:MySQLNonTransientConnectionException试图与IP地址进行连接时

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/imageusers?autoReconnect=true&useSSL=false&relaxAutoCommit=true", "username", "password"); 

那么它完全正常,但如果我这样做:

Connection myConn = DriverManager.getConnection("jdbc:mysql://IP:3306/imageusers?autoReconnect=true&useSSL=false&relaxAutoCommit=true", "username", "password"); 

然后,它给了我一个很长错误的清单:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. 
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

我从这个网站我的IP地址:http://whatismyipaddress.com/ 和双重检查它在另一个发现者,这是相同的,所以我不认为我把IP地址错误。我也在Windows防火墙中为3306端口做了一个例外,并且检查了MySQL是否在Windows的服务应用程序中运行,并且它是。我已经打开并运行了MySQL程序。我不知道还有什么要做。

回答

0

你在这里给的是公共IP。它不会将其转换为私有IP地址。尝试从您连接到数据库服务器的计算机ping公共IP。它也不会工作。我建议你使用私人IP地址。

+0

是我使用了ipconfig从命令提示符获得的私有IP地址,它遵循192.168 ....等。它现在可以工作,但可以通过互联网访问吗?我怎样才能做到这一点,我可以从另一台电脑上做到这一点? – hse23

+0

给它一个域名并添加一个DNS条目。 –

+0

@ hse23 https://en.wikipedia.org/wiki/Port_forwarding –