Caused### Error querying database. Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException

发布于:2023-01-04 ⋅ 阅读:(532) ⋅ 点赞:(0)

1.异常描述:

Error querying database. Cause: com.mysql.cj.jdbc.exceptions.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.

2.异常原因:

查阅其他文章后发现明显与自己的情况不同,其他文章的“milliseconds”是有时长的,而我是0。
在这里插入图片描述
经查后发现为MySQL版本问题
前几天我刚刚把MySQL5.7换成了MySQL8,并在当天开启了MySQL8服务
因而程序中,jdbc.properties文件我使用了MySQL8的写法在这里插入图片描述

但查看Navicat时发现MySQL又回到了5的版本
在这里插入图片描述
至此发现问题,更改SQL版本后得以解决。
(补充1:关于配置文件 MySQL8版本和5版本的不同如下)

  1. 驱动类driver-class-name
    MySQL 5版本使用jdbc5驱动,驱动类使用:com.mysql.jdbc.Driver
    MySQL 8版本使用jdbc8驱动,驱动类使用:com.mysql.cj.jdbc.Driver

  2. 连接地址url MySQL
    5版本的url: jdbc:mysql://localhost:3306/ssm
    8版本的url:jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC

(补充2:同时拥有两个版本的MySQL,如何切换)

  1. win+r打开运行,输入services.msc打开服务
  2. 找到MySQL
    在这里插入图片描述
  3. 把不需要的那个右键->停止,然后右键->属性->禁用
    在这里插入图片描述
  4. 最后,把需要的版本右键->启动,并在属性中将其设为自动

网站公告

今日签到

点亮在社区的每一天
去签到