MySQL服务器即使在等待超时设置为一年后仍会继续运行

MySQL服务器即使在等待超时设置为一年后仍会继续运行,mysql,google-app-engine,Mysql,Google App Engine,我有一个云SQL server实例通过Google App Engine运行,而MySQL服务器一直在运行。这以前从来都不是一个问题,但出于某种原因,它刚刚决定抬起它丑陋的头 在服务器端脚本中,我将等待超时设置为31536000 我还在GAE的开发控制台中创建了一个wait_timeout标志 然而,这个问题突然出现,而且它的出现非常不一致,有时工作一两天,然后从地球表面消失。我重新部署了脚本,然后它工作了一个小时,然后就离开了。这对我来说毫无意义 以前有人发生过这种事吗 我得到的第一个错误是:

我有一个云SQL server实例通过Google App Engine运行,而MySQL服务器一直在运行。这以前从来都不是一个问题,但出于某种原因,它刚刚决定抬起它丑陋的头

在服务器端脚本中,我将等待超时设置为31536000

我还在GAE的开发控制台中创建了一个wait_timeout标志

然而,这个问题突然出现,而且它的出现非常不一致,有时工作一两天,然后从地球表面消失。我重新部署了脚本,然后它工作了一个小时,然后就离开了。这对我来说毫无意义

以前有人发生过这种事吗


我得到的第一个错误是:

OperationalError: (2013, 'Lost connection to MySQL server during query')
然后:

如果我有一个理论,那就是,在客户端,一个函数被调用到mysql服务器,然后客户端在mysql服务器完成第一个函数之前调用另一个函数,这不知怎么搞砸了


我不知道。

你能分享一下你得到的错误吗?我得到的第一个错误是:OperationalError:(2013,“在查询过程中与MySQL服务器失去连接”),然后是:OperationalError:(2006,“MySQL服务器消失了”)在mysql配置中将变量max_allowed_packet设置为32M或更高,以消除此错误。嗯,好的,我来试一试。非常感谢。作为将来的参考,你能解释一下为什么这可能有效吗?这样做会发生什么?当您向服务器发送不正确或太大的查询时。如果mysqld接收到一个太大或无序的数据包,它会假定客户端出现了问题,并关闭连接。如果需要大查询(例如,如果使用大BLOB列),可以通过设置服务器的max_allowed_packet变量来增加查询限制,该变量的默认值为1MB。您可能还需要增加客户端上的最大数据包大小
OperationalError: (2006, 'MySQL server has gone away')