请教下mysql 8小时问题。不甚感激!!

发布于 2021-11-30 03:04:09 字数 1481 浏览 945 评论 14

mysql 8小时问题相信很多朋友都遇到过,不知道您是怎么处理的呢?

我是打算改my.cnf文件改wait_timeout值。。

不过看到很多人处理这个问题都不推荐这种搞法。。

我是用的spring+dbcp的连接方式,这样的配置里面不支持autoReconnect这个属性的设置

受教了。。。

-:org.springframework.dao.RecoverableDataAccessException: PreparedStatementCallback; SQL [select userPassword from sysuser where userName=? AND userStatus='1']; The last packet successfully received from the server was227267 milliseconds ago.The last packet sent successfully to the server was 227267 milliseconds ago, which  is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was227267 milliseconds ago.The last packet sent successfully to the server was 227267 milliseconds ago, which  is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(14

长安忆 2021-11-30 19:07:36

碰到类似问题,修改的mysql配置

[mysqld]

wait_timeout=86400
interactive_timeout=86400

勿忘初心 2021-11-30 19:07:34

愿闻其详

背叛残局 2021-11-30 19:07:30

回复
你可以去查查timeout和waittimeout这两个参数,官网上有详细的解释。我会在程序中写一个随机函数,a = random(1,10),如果a<5,那么我会去激活一次连接。这样的话你的数据库链接会保持很长时间

梦里兽 2021-11-30 19:07:19

我记得有个激活事件,conn.ping,你可以不定时(<8小时)去执行以下conn.ping,去重新激活以下链接,而再也不用担心八小时问题了。

你曾走过我的故事 2021-11-30 19:07:14

我没用spring,直接写的properties的配置文件用dbcp去加载 spring我觉得一样吧,把对应属性写到spring配置里面

凌乱心跳 2021-11-30 19:07:01

回复
嗯。。是了。非常感谢

秉烛思 2021-11-30 19:06:51

回复
甭客气,哈,我也是上次因为这个问题,困扰了好久,这个方法应该没问题的

樱花落人离去 2021-11-30 19:05:59

我上次也遇到的,配置里面加个sql心跳检查

#sql 心跳检查
testWhileIdle=true
testOnBorrow=true
testOnReturn=true
validationQuery=SELECT 1
validationQueryTimeout=1
timeBetweenEvictionRunsMillis=30000
numTestsPerEvictionRun=50

偏爱自由 2021-11-30 19:03:05

你好,请问这个timeout时间配在哪呢?呵呵

巡山小妖精 2021-11-30 19:01:07

回复
在/etc/mysql/my.cnf中有

屌丝范 2021-11-30 18:55:33

连接池也配置一个 timeout 时间,值小于 wait_timeout

绝情姑娘 2021-11-30 18:52:19

恩,查了下,就用这个方法试了。嘿嘿谢谢

心欲静而疯不止 2021-11-30 18:15:41

配了这个心跳,可是问题还是存在,不知道咋回事了

陌上芳菲 2021-11-30 03:21:35

我上次也遇到的,配置里面加个sql心跳检查

#sql 心跳检查
testWhileIdle=true
testOnBorrow=true
testOnReturn=true
validationQuery=SELECT 1
validationQueryTimeout=1
timeBetweenEvictionRunsMillis=30000
numTestsPerEvictionRun=50

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文