gpt4 book ai didi

java - Ubuntu 16.04中Java程序无法连接MYSQL数据库(通信链路故障)

转载 作者:行者123 更新时间:2023-11-29 18:03:39 24 4
gpt4 key购买 nike

当我使用 localhot 而不是 IP 地址时,我的 java 程序工作正常,但当我使用 IP 地址连接时出现错误。 (我必须使用IP地址进行连接,因为它是客户端服务器应用程序)。

我还将/etc/mysql/mysql.conf.d/mysqld.cnf 文件绑定(bind)地址从 127.0.0.1 更改为 0.0.0.0,但我再次收到错误消息 -

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障最后一次成功发送到服务器的数据包是在 0 毫秒前。驱动程序尚未收到来自服务器的任何数据包。

我的代码是:-

try{
Connection con;
Statement st;
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection(
"jdbc:mysql://172.16.16.185:3306/itcentre?
verifyServerCertificate=false&useSSL=true","root","");

st=con.createStatement();
ResultSet rs=st.executeQuery("select * from teacher");
while(rs.next())
{
System.out.println(rs.getString(2));
}
rs.close();
st.close();
con.close();
}
catch(Exception e)
{
System.out.println(e);
}

最佳答案

Java 绝对可以建立 SSL 连接,而无需客户端验证服务器的证书链。建立连接的类(javax.net.ssl 类)通常会怀疑未经验证的服务器证书,并且会使握手失败。但它们为这些类的用户提供了一种方法,实际上可以说“如果服务器的证书未验证,没关系,继续建立连接”。这就是当您说 verifyServerCertificate=false 时发生的情况。

关于java - Ubuntu 16.04中Java程序无法连接MYSQL数据库(通信链路故障),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48108426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com