mysql timeout

最近做了一个多人竞拍的小功能  因为以前没做过 所以踩了很多坑
用的是 mysql + php + redis 实现的竞拍功能

这里先说一下踩得第一个坑  
用PHP捕获异常发现  MySQL has gone away
由于本人很菜  当时就懵逼了
和公司的其他脚本写的一样啊   怎么就我这里出问题了呢
后来查了很多资料 (因为问题描述不清,得到了很多答案  大多数都是ctrl+c ctrl+v)
最后还是在领导的帮助下 知道了问题的所在  mysql wait_timeout (还是过来人有经验)
自己在空闲的时候整理了下资料  当然 也是 ctrl+c ctrl+v  但这是我自己改的 仅供自己记录下成长历程吧
Mysql服务器默认的“wait_timeout”是8小时【也就是默认的值默认是28800秒】,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection,
通俗的讲就是一个连接在8小时内没有活动,就会自动断开该连接。但是,脚本会认为他是连接的,当脚本再次操作mysql的时候,mysql实际已经断开连接了,所以会抛出MySQL has gone away的异常
通过查询日志发现  脚本在八个小时内  并没有对mysql 进行操作  也验证了这个问题
解决办法就是修改wait_timeout 的值  具体方法 就自己百度吧
wait_timeout的值可以设定,但最多只能是2147483,不能再大了。也就是约24.85天 


其实心里还是不服气的  既然人这么少 为什么还要弄竞拍呢   哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值