没有合适的资源?快使用搜索试试~ 我知道了~
MySQL数据库连接超时(Wait_timeout)问题总结.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 65 浏览量
2022-06-27
15:12:45
上传
评论
收藏 80KB PDF 举报
温馨提示
试读
2页
MySQL数据库连接超时(Wait_timeout)问题总结.pdfMySQL数据库连接超时(Wait_timeout)问题总结.pdfMySQL数据库连接超时(Wait_timeout)问题总结.pdfMySQL数据库连接超时(Wait_timeout)问题总结.pdfMySQL数据库连接超时(Wait_timeout)问题总结.pdfMySQL数据库连接超时(Wait_timeout)问题总结.pdfMySQL数据库连接超时(Wait_timeout)问题总结.pdfMySQL数据库连接超时(Wait_timeout)问题总结.pdf
资源推荐
资源详情
资源评论
当应用程序和数据库建立连接时,如果超过了 8 个小时,应用程序不去访问数据
库,数据库就会出现断掉连接的现象 。这时再次访问就会抛出异常.
一般的解决方法大多是在数据库连接字符串中增加“autoReconnect=true ”选
项。但是这只对 mysql4 以前的版本有效。在最新的 mysql 中是无效的。
其实要解决这个问题也有一个简单的方法,就是修改 mysql 的启动参数。缺省情
况下 mysql 的 timeout 时间是 28800 秒,正好是 8 小时,增加一个 0 就可以了。
决定从根源入手,设置 mysql 的 wait_timeout 为 31536000(一年),再来试试。
set-variable=wait_timeout=31536000
set-variable=interactive_timeout=31536000
问题得到了解决 想了深入解一下 mysql 的工作原理
百度了一下 Google 发现很多人都出现过这种问题,大多是配置 hibernate 时候
出的问题,
可惜我的项目中没有使用到 hibernate 只是简单的自己配了一个连接池,
所以综合了问题的关键所在改了一下数据库配置,在这里暂且记录一下,以后备
用。
Mysql 服务器默认的“wait_timeout”是 8 小时,也就是说一个 connection 空
闲超过 8 个小时,Mysql 将自动断开该 connection。
这就是问题的所在。
最近碰到了这个问题,检查后发现数据库连接池中保存的连接超时后失效了,下面是官方的解释
mysql gone-away
从 Mysql 5.x 的某个版本之后,MySQL 的自动关闭空闲连接的特性被修改了,假如一个连接空闲到超时
时间(默认 28000 秒 8 小时),再次发起的 Reconnect 重新连接请求不会被接受,需要重新建立新连接,
这就导致了 SER 的重连机制不能正常工作:SER 只会在需要操作数据库时去使用同一个连接接口,断开
了则发起重新连接请求,而且这个问题短期内 SER 也不能够解决。
下文中将具体讲述处理的方法:
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功