背景:
做了一个定时Batch,每日定时Check数据库中当日交易数据是否已上传,如果未上传则自动从数据源网站抓取数据上传,其实就是达成一个单方面STP的效果。
问题
发现每次首日判断时MySQL会报2006 Server Gone Away错误。测试环境没有这个问题,只有生产环境有。
思考
由于代码和应用层面的配置相同,剩下的只可能MySQL环境的问题。
解决方案
在生产环境的mysql的ini文件中增加如下配置,延长Timeout时间,重启MySQL即可:
max_allowed_packet = 500MB
skip-name-resolve
wait_timeout=288000
interactive_timeout = 288000