前几天使用个脚本不停的查看redis队列中的事件。如果有则把事件取出来,然后进行一些数据库操作。
后来发现,每天的第一次有事件时都会到导致,找不到数据。
后来定位到问题,是mysql在连接长时间无活动的情况下,将连接断开。php在有事件,准备从数据库中获取数据时,捕获到mysql已断开的错误。
解决方案有两个:
- 修改mysql配置文件,my.cnf
[mysqld] interactive_timeout=600 wait_timeout=600
两个参数都要同时设置。
相关参考:http://www.cnblogs.com/jiunadianshi/articles/2475475.html
2. 就是在脚本在mysql连接的超时时间内,去访问一下数据库,避免mysql server断开。
时间: 2024-10-23 18:55:54