1、数据库服务器断开连接后,客户端大量执行(我的问题出现随4000次左右query出现)query,造成MySQL client ran out of memory。
mysql的连接会偶发性的断掉,所以每次mysql_query()之前应该检查是否在连接状态(如何检查?,没发现有直接使用的api)。或执行query之后检查mysql_errno(),如果为CR_SERVER_GONE_ERROR或CR_SERVER_LOST,则需要重连。
如果已经断开了连接,再进行大量的mysql_query(),会造成新连接出现MySQL client ran out of memory错误。这样会造成后续的重新连接也无法成功。
简单解决方法:
每次query失败检查错误码,如果为CR_SERVER_GONE_ERROR或CR_SERVER_LOST,则做一次重连再试。