最近写了一个定时脚本,每天凌晨跑,每次跑时间很长。
在测试这个脚本的时候,跑了一个小时,发生一个错误,脚本中断,错误如下:
_mysql_exceptions.OperationalError: (2013, ‘Lost connection to MySQL server during query‘)
查阅资料,请教同事,最后得出结论:
因为mysql有一个默认的connect_timeout时间,一旦超过,会自动关闭连接。
可以尝试以下两种方式:
创建连接时制定connect_timeout时间,设置长一点。
每次操作数据库是都建立一次连接,操作结束后关闭掉。在代码中,及时关闭游标,关闭连接。