根据MySQL文档,当客户端无法向服务器发送问题时(最可能是由于服务器本身已关闭连接),将引发错误消息。在最常见的情况下,服务器将在8小时(默认)后关闭空闲连接。这可以在服务器端配置。
在MySQL文档给出了许多其他可能的原因,这可能是值得探讨,看看他们是否适合你的情况。
调用
connect()每个函数的另一种选择(可能最终导致不必要地创建新连接)将是使用
ping()连接对象上的方法进行调查。这将测试连接并尝试自动重新连接。我很难在网上找到一些合适的
ping()方法文档,但是这个问题的答案可能会有所帮助。
注意,在处理事务时自动重新连接可能很危险,因为重新连接看起来会导致隐式回滚(并且这似乎是自动重新连接不是MySQLdb实现的功能的主要原因)。



