我想弄清楚为什么从Python访问MySQL时偶尔会出现以下错误:2018-02-13T10:28:22.4616239Z 137675 [Note] Aborted connection 137675 to
db: 'unconnected' user: 'username' host: '132.20.21.10' (Got an
error reading communication packets)
根据文件,可能的原因:客户端程序在退出之前没有调用mysql_close()。在
不应该是这样,因为我们有一个finally:code块执行close()。在客户端的睡眠时间超过了等待超时或交互超时秒数,而没有向服务器发出任何请求。参见第5.1.5节“服务器系统变量”。在
当然不是。在客户端程序在数据传输过程中突然结束。在
当然不是。在max_allowed_packet变量值太小,或者查询需要比为mysqld分配的内存更多的内存。见第B.5.2.9节“数据包太大”。在
当然不是。在线程库出现问题,导致读取中断。在
有人在使用pythonmysqldb,更具体地说mysqlclienthttps://pypi.python.org/pypi/mysqlclient时有什么问题吗?在TCP/IP配置错误。以太网、集线器、交换机、电缆等故障。只有更换硬件才能正确诊断。
在Linux上使用以太网协议,包括半双工和全双工。在
不应该是这样,因为它大部分时间都在工作。在
如果您有任何想法,他们将不胜感激!在
****编辑***
最终代码如下:
^{pr2}$
池初始化如下:import MySQLdb
import sqlalchemy.pool as pool
def __init__(self, config, logging_name=None):
def getconn():
c = MySQLdb.connect(host=config.host, port=int(config.port), user=config.user,password=config.password,charset='UTF8')
return c
self.pool = pool.QueuePool(getconn, logging_name=logging_name)