今天有个产品找我,说新手卡录入后台报错。
先简单介绍一下这个新手卡录入后台,这个后台是提供给产品人员使用。可以向某个游戏的某个特定分区批量录入新手卡信息,方便玩家获取。后台设置的一次性最大录入量为500。
先看日志吧,报错的内容和日志的相同:
Error: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
这个错误信息很好的描述了是数据库超时引起的。以前听前辈说过,应该是wait_timeout环境变量设置的有问题。可是查看后,发现wait_timeout设的好高啊,为28800,不应该出问题啊。无解。
头回来后,诉说。头笑而不语,让我只看,别说话。
show global variables;
set global wait_timeout = 120;
set global wait_timeout = 120;
原来无论是查看还是修改服务器端配置都要加上这个global,否则查看和修改的都是客户端的配置,当然看不出来了。
PS:问题顺利解决,原来的wait_timeout被人设成了3,哪够啊!