博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于MySQL的wait_timeout连接超时问题报错解决方案
阅读量:6942 次
发布时间:2019-06-27

本文共 1143 字,大约阅读时间需要 3 分钟。

The last packet sent successfully to the server was 0 milliseconds ago.
今天在使用JDBC操作mysql时遇到

 

着实让人崩溃的信息,花费了一天的时间来解决。
不罗嗦,直接描述解决办法。

解决方法:

 

首先一定要确定url和用户名密码是否配置正确,看看连接字串,端口是否配置正确

然后再用网上说的URl上缀上autoReconnect=true

jdbc:mysql://localhost:3306/oa?autoReconnect=true

 

 

编辑mysql目录里的:my.cnf(windows下为my.ini),

# The TCP/IP Port the MySQL Server will listen on port=3306下面添加 

wait_timeout=31536000

 interactive_timeout=31536000



原因分析:
(1)大量数据访问情况下,mysql connection连接有可能失效
(2)长时间不妨问,connection会失效

关于MySQL的wait_timeout连接超时问题报错解决方案 

Mysql服务器默认的“wait_timeout”是8小时【也就是默认的值默认是28800秒】,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection,通俗的讲就是一个连接在8小时内没有活动,就会自动断开该连接。 wait timeout的值可以设定,但最多只能是2147483,不能再大了。也就是约24.85天 
所以即使你MySQL通过my.ini 在 
# The TCP/IP Port the MySQL Server will listen on port=3306下面添加 
# this is myown dinifition for mysql connection timeout wait_timeout=31536000 
interactive_timeout=31536000 
无论超过最大限度多大的数值,只能被MySQL解析为2147483,2147483天后你的程序该出什么错还是什么错,避免不了

更多参考:
http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#dynamic-system-variables
http://www.blogjava.net/heweiya/archive/2006/01/18/28483.html

1 楼 连接字符串URL中,将localhost改成127.0.0.1,就OK了。

 

转载地址:http://ognnl.baihongyu.com/

你可能感兴趣的文章
交互式自动化脚本模板
查看>>
Docker Registry v2 + Token Auth Server (Registry v2 认证)实例。
查看>>
怎么复制磁盘里的数据?
查看>>
用户层修改peb实现隐藏一些东西
查看>>
关于Linux的内存(free -m)
查看>>
tomcat9启动后控制台输出乱码问题
查看>>
cssText文本格式化
查看>>
JS数组追加数组采用push.apply的坑
查看>>
如何避免adtbundle新建项目总是产生一个appcompat_v7和fragment_main.xml
查看>>
如何将iOS应用发布到App Store详解
查看>>
POJ 1488
查看>>
1821: [JSOI2010]Group 部落划分 Group
查看>>
1112: [POI2008]砖块Klo
查看>>
MongoDB【第二篇】集群搭建
查看>>
extends和implements的区别
查看>>
Java面向对象之继承
查看>>
Latex小技巧
查看>>
Java多态
查看>>
23模式之: 模板方法模式demo
查看>>
Lua游戏开发之时区问题
查看>>