每天第一次链接数据库时,就报错了,然后F5

每天第一次链接数据库时,就报错了,然后F5,第1张

Mysql服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection。这就是问题的所在,在C3P0 pools中的connections如果空闲超过8小时,Mysql将其断开,而C3P0并不知道该connection已经失效,如果这时有Client请求connection,C3P0将该失效的Connection提供给Client,将会造成上面的异常。

解决的方法有3种:

1增加wait_timeout的时间

2减少Connection pools中connection的lifetime。

3测试Connection pools中connection的有效性。

mysql与程序连接,在一定时间内没有出现连接超过mysql的连接等待时间(wait_timeout)会出现断开连接情况,跟数据库配置有关。

mysql默认连接等待时间是为(28800s)即8h,

命令:show global variables like 'wait_timeout' 查看等待时间

在msql5中wait_timeout的最大值分别是24d/365(win/linux)

在mysql中的安装目录中的my.ini增加一行 wait_timeout=1814400

linuix在etc/my.cnf中


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9439802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存