MySQL--连接超时提示:The driver has not received any packets from the server

【问题描述】

今天访问部署在Linux上Tomcat一直运行的应用时,发现报错了,查看Tomcat日志大致报错信息提示
...last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

通过学习,了解到我引发这个问题的原因是Tomcat运行的应用与MySQL服务器的连接断开了,此时发起任何访问数据库的请求,都会报上面的提示信息~

我个人的解决方案是通过参数配置(增大连接超时时间wait_timeout的值)~

参数配置

这里分析整理后分享出来,希望对遇到这个问题的小伙伴也有帮助,进入正文~

目录

一、交互式与非交互式连接

1.1 交互式连接

1.2 非交互式连接

二、MySQL连接参数

2.1 配置参数说明

2.2 配置生效范围

三、参数配置(问题解决方案)

3.1 配置连接参数

3.2 配置连接超时时间

3.2.1 指令配置(方式一)

3.2.2 文件配置(方式一)

附录


一、交互式与非交互式连接

1.1 交互式连接

指的是客户端连接,连接到MySQL服务器,且客户端连接都带有重连机制(断开后操作SQL会自动连接)
(1)指令连接
终端命令行执行连接指令,即可连接到mysql服务器。
$ mysql -hlocalhost -p3306 -uroot -p

$ mysql -uroot -p
Enter password:

(2)工具连接
例如navicat,虽然一个数据库管理工具,但连接MySQL时,其内部也是封装了客户端连接的指令。
mysql -h$ip -P$port -u$user -p

1.2 非交互式连接

指的是非客户端连接,例如应用程序创建连接池JDBC连接~

本文开头提到我的应用访问MySQL引起的报错,指的就是非交互式连接断开

评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾日三省贾斯汀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值