swoole mysql长连接_swoole 数据库长连接的 重连问题(mysql经常断开),导致过段时间查不出数据...

最近用swoole服务,碰到了一个非常奇怪的问题(本人用了一套自己封装的mysql操作类,刚启动,数据库操作一切正常,但是每次过了一个晚上再运行的时候老是出现数据库查不出的情况),刚开始怀疑是不是自己封装的类有问题,单经过排查并不是,经过查阅资料,原来是因为mysql服务有一个设置参数(wait_timeout),这个参数默认值是八个小时,连接超过八个小时以后,mysql会自动关闭连接服务。短连接不会出现此类问题,长连接则会。

下面则可以优化出现的问题:

1.linux下打开/etc/my.cnf,在属性组mysqld下面添加参数如下:

[mysqld]

interactive_timeout=28800

wait_timeout=28800

windows下打开my.ini,增加:

interactive_timeout=28800

wait_timeout=28800

2.不需要改变上面的配置参数,在mysql操作类中优化添加一下代码

判断mysqli_query();的返回值是否是false,如果是false的话,则再重新连接一下就可以啦

899922541b5ba6fc49f6ac06dabdd19e.png

07444539001fd8a01d2a5533ed2d7491.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值