Java - 使用JDBC连接到在线MySQL数据库时遇到问题

时间:2011-08-26 22:31:25

标签: java mysql database jdbc

我正在尝试使用JDBC在我的Java应用程序中建立连接以访问我的在线数据库,以便我可以插入和查询表。这是我目前正在尝试的:(实际的IP /用户/传递编辑,但他们是正确的,因为我从PHP脚本做了类似的事情)

String url = "jdbc:mysql://984.168.199.70/my_db_name"; 
    String user = "my_username"; 
    String pass = "my_password";

Class.forName ("com.mysql.jdbc.Driver").newInstance ();
    Connection conn = (Connection) DriverManager.getConnection(url, user, pass);
    stmt = (Statement) conn.createStatement();

但这不起作用,我收到错误:

Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

之后错误日志很长。

所以只是要指出:我在使用PHP脚本之前已连接到此服务器,并且我已使用JDBC连接到我的localhost MySQL数据库并与之交互。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

我也遇到过这个问题而且它总是(在我的情况下)被归结为一个不正确的jdbc网址,例如:丢失/错误的端口号(我知道您的示例代码已被编辑,但它没有指定任何端口)或不正确的IP地址,无法检查mysql是否正在运行并接受端口上的连接和您期望的IP。检查my.cnf中的绑定地址和jdbc url中的ip地址

答案 1 :(得分:1)

在这里回答我自己的问题,因为我的代码很好。问题在于我的Godaddy设置。

基本上,当您使用这些人创建MySQL数据库时,请确保将“允许直接数据库访问”设置为YES。显然我的其他数据库不是。

如果其他人有任何意见,我仍会暂时不回答这个问题。这些配置总能让我...