Mysql 连接出现The last packet sent successfully to the server was 0 milliseconds ago.

本文介绍了如何解决MySQL连接错误,重点在于确认驱动版本匹配,例如将`com.mysql.jdbc.Driver`替换为`com.mysql.cj.jdbc.Driver`。此外,还提到了可能的其他解决方案,包括调整MySQL配置文件中的wait_timeout和interactive_timeout参数,添加连接参数以确保UTF-8编码和正确时区设置,检查MySQL版本一致性,以及排查端口和服务重启等常规问题。

我的解决是Mysql连接驱动有误,8.X的mysql驱动用了5.X的驱动

所以将

          com.mysql.jdbc.Driver 更换为 com.mysql.cj.jdbc.Driver即可

但这个问题产生的原因有很多,看了网上给的解决方案,梳理一下

1、连接池有效期问题,在mysql根目录下my.ini中修改(Windows下)

wait_timeout=604800
interactive_timeout=31536000

2、添加连接参数

jdbc:mysql://127.0.0.1:3306/nutzdemo?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC&useSSL=false&zeroDateTimeBehavior=CONVERT_TO_NULL&allowPublicKeyRetrieval=true

主要作用是修改字符串的编码为UTF-8,并且设置时区

3、检查Mysql的版本问题,有概率是5.X和8.X之间切换产生的问题

4、其他配置错误,如端口号,重启服务等

参考:

1、mysql 连接出现The last packet sent successfully to the server was 0 milliseconds ago.问题解决

2、解决Java程序连接mysql数据库出现CommunicationsException: Communications link failure错误的问题

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值