java–jdbc:无法创建与数据库服务器的连接

java–jdbc:无法创建与数据库服务器的连接,第1张

概述参见英文答案 > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure                                    32个我正在尝试使用jdbc连接mysql数据库.这是我的数据库连接类:public class

参见英文答案 > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure                                    32个
我正在尝试使用jdbc连接MysqL数据库.
这是我的数据库连接类:

public class Database {    String username = "myUsername";    String password = "myPass";    String url = "jdbc:MysqL://xxx.xxx.xxx.xxx:3306/database_name?autoReconnect=true&useSSL=false";    public voID connect()    {        try {            Class.forname("com.MysqL.jdbc.Driver").newInstance();            Connection conn = DriverManager.getConnection(url,username,password);            Statement statement = conn.createStatement();            String queryString = "select * from users";            ResultSet rs = statement.executequery(queryString);            while (rs.next()) {                System.out.println(rs.getString(2));            }        } catch (Exception e) {            e.printstacktrace();        }    }}

现在,您可以假设我调用的方法如下:

new Database().connect();

我得到这个例外:

com.MysqL.jdbc.exceptions.jdbc4.MysqLNonTransIEntconnectionexception: Could not create connection to database server. Attempted reconnect 3 times. Giving up.    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)    at @R_502_4126@.reflect.Constructor.newInstance(Constructor.java:423)    at com.MysqL.jdbc.Util.handleNewInstance(Util.java:425)    at com.MysqL.jdbc.Util.getInstance(Util.java:408)    at com.MysqL.jdbc.sqlError.createsqlException(sqlError.java:918)    at com.MysqL.jdbc.sqlError.createsqlException(sqlError.java:897)    at com.MysqL.jdbc.sqlError.createsqlException(sqlError.java:886)    at com.MysqL.jdbc.sqlError.createsqlException(sqlError.java:860)    at com.MysqL.jdbc.ConnectionImpl.connectWithRetrIEs(ConnectionImpl.java:2163)    at com.MysqL.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2088)    at com.MysqL.jdbc.ConnectionImpl.

*我添加%来从远程访问数据库.

* Java部分为localhost工作但是当我尝试这个远程数据库时,它失败了.

*创建了数据库和表.(没有问题.)

那问题出在哪里?

最佳答案

Java part working for localhost but when I try this remote database,it fails

这意味着,您的MysqL服务器绑定到localhost,并且在外部不可见.
请将MysqL conf文件中的bind-address属性设置为主机的实际IP地址.

例如:bind-address = 192.168.1.26

根据实际IP地址,我的意思是您的客户端可以看到运行Java代码的位置.这可以是内联网地址或公共IP.如果要公开您的公共IP,则可能必须使用某些防火墙.

总结

以上是内存溢出为你收集整理的java – jdbc:无法创建与数据库服务器的连接全部内容,希望文章能够帮你解决java – jdbc:无法创建与数据库服务器的连接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1168690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)