当前位置: 首页 > news >正文

Java:链接mysql数据库报错:CommunicationsException: Communications link failure

目录

    • 简介
    • 异常信息
    • 排查
    • 原因
    • 解决


简介

1、Java程序链接mysql数据库报错

2、其他Java程序链接该数据库是正常的


异常信息

2025-05-30 18:04:17.131 - [32m[ERROR][0;39m - [Druid-ConnectionPool-Create-1346351097] - [1;34m[com.alibaba.druid.pool.DruidDataSource - line:2469][0;39m: create connection SQLException, url: jdbc:mysql://192.168.1.116:3306/xxxDataBase?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8, errorCode 0, state 08S01
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455)at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:149)at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:786)at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:143)at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:786)at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:143)at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:218)at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:143)at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1515)at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1578)at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2466)
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.at sun.reflect.GeneratedConstructorAccessor73.newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:423)at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)at com.mysql.cj.protocol.a.NativeProtocol.negotiateSSLConnection(NativeProtocol.java:361)at com.mysql.cj.protocol.a.NativeAuthenticationProvider.negotiateSSLConnection(NativeAuthenticationProvider.java:777)at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:486)at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:202)at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1449)at com.mysql.cj.NativeSession.connect(NativeSession.java:165)at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:955)at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825)... 13 common frames omitted
Caused by: javax.net.ssl.SSLException: Received fatal alert: internal_errorat sun.security.ssl.Alert.createSSLException(Alert.java:133)at sun.security.ssl.Alert.createSSLException(Alert.java:117)at sun.security.ssl.TransportContext.fatal(TransportContext.java:314)at sun.security.ssl.Alert$AlertConsumer.consume(Alert.java:293)at sun.security.ssl.TransportContext.dispatch(TransportContext.java:187)at sun.security.ssl.SSLTransport.decode(SSLTransport.java:154)at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1198)at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1107)at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:400)at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:372)at com.mysql.cj.protocol.ExportControlled.performTlsHandshake(ExportControlled.java:315)at com.mysql.cj.protocol.StandardSocketFactory.performTlsHandshake(StandardSocketFactory.java:188)at com.mysql.cj.protocol.a.NativeSocketConnection.performTlsHandshake(NativeSocketConnection.java:99)at com.mysql.cj.protocol.a.NativeProtocol.negotiateSSLConnection(NativeProtocol.java:352)... 20 common frames omitted

排查

1、确认数据库账号密码是正确的

2、其他Java程序可以正常链接该数据库

3、从以下错误日志看,程序与数据库服务之间的通讯是正常的,不过数据库服务在接收到数据包请求之后并没有响应

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

4、查看数据库配置链接,发现存在SSL相关配置:useSSL=true

jdbc:mysql://192.168.1.116:3306/xxxDataBase?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8

5、将useSSL=true改为useSSL=false,程序可以正常链接数据库


原因

具体原因未知,应该与SSL有关


解决

将数据库链接的useSSL=true改为useSSL=false

http://www.lqws.cn/news/549631.html

相关文章:

  • Coze API如何上传文件能得到文件的file_url
  • 缓解停车难的城市密码:4G地磁检测器如何重构车位资源分配
  • Discrete Audio Tokens: More Than a Survey
  • TensorRT-LLM的深度剖析:关键问题与核心局限性
  • Java-异常类
  • Spearman检验组间相关性及SCI风格绘图
  • MySQL之事务原理深度解析
  • [Python] -基础篇2-Python中的变量和数据类型详解
  • 运营医疗信息化建设的思路
  • 创建一个简单入门SpringBoot3项目
  • 华为云Flexus+DeepSeek征文|高可用部署 Dify 平台构建 Flux 绘画中台 Chatflow 的设计与实现
  • Re:从零开始的文件结构(融合线性表来理解 考研向)
  • 设计模式精讲 Day 15:解释器模式(Interpreter Pattern)
  • LangChain4j(20)——调用百度地图MCP服务
  • Ubuntu系统Postman资源占用高怎么办?
  • Stable Diffusion入门-ControlNet 深入理解 第二课:ControlNet模型揭秘与使用技巧
  • 【软考--软件设计师】2.程序设计语言
  • mongodb生产备份工具PBM
  • opensuse安装rabbitmq
  • Transformer
  • 将ONNX模型转换为(OPENMV可用的格式)TensorFlow Lite格式
  • Spring Cloud 微服务(服务注册与发现原理深度解析)
  • python基于Django+mysql实现的图书管理系统【完整源码+数据库】
  • uv包管理常用命令
  • Stable Diffusion 3终极提示词库:2000个工业设计场景生成公式(2025企业级实战指南)
  • [Ethernet in CANoe]1--SOME/IP arxml文件格式的区别
  • 动手学Python:从零开始构建一个“文字冒险游戏”
  • 记忆化搜索(dfs+memo)无环有向图
  • ubuntu22上安装redis6
  • 【开发杂谈】Auto Caption:使用 Electron 和 Python 开发实时字幕显示软件