河曲智叟 发表于 2024-12-12 19:10:07

jdbc毗连mysql数据库时报错com.mysql.cj.jdbc.exceptions.CommunicationsEx

这个错误的意思是:通讯链路故障
我碰到此题目紧张是更新mysql数据库的驱动到8.0版本以上,而8.0以上版本在DriverManager.getConnection获取Connection对象时url中有些参数是必须加的。
比方jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncodeing=UTF-8&useSSL=false&serverTimezone=GMT%2d8,如果其中少了一个参数就会报此错误。
值得注意的是在mysql版本在8以上,url是要加上时区的,也就是serverTimezone=GMT%2d8。
同时如果url出现路径题目也会报出此错误,这也是正常的,毕竟路径都错了通讯链路可不故障了嘛!
比方jdbc:mysql://192.168.160.134:3306/aozhanpeng?useUnicode=true&useSSL=false&characterEncodeing=UTF-8&serverTimezone=GMT%2b8。我的虚拟机的地址是192.168.160.133,我故意将地址改为192.168.160.134便会报此错误。
当然纵然参数全部设置,路径也没有题目,但是将useSSL设置为true也会出现此错误,这个参数紧张是设置mysql是否利用安全套接字协议。
SSL可以对数据进行加密,实在我们早就接触它了,比方之前我们欣赏器访问网站一样平常是http,而如今是https,这个https就是http+SSL/tcp的简称。
在这里利用SSL也是对数据传输进行加密。适合需要较高安全性的场景下。
useSSL=true:就是一样平常通过证书大概令牌进行安全验证
useSSL=false:就是通过账号暗码进行毗连
至于useSSL=true时怎样访问mysql数据库本文就不多赘述了,有不少文章报告,下面附其中一篇的链接。
MYSQL8安全之SSL认证_mysql ssl-CSDN博客

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: jdbc毗连mysql数据库时报错com.mysql.cj.jdbc.exceptions.CommunicationsEx