我试图弄清楚为什么我偶尔会从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)
根据文件可能的原因:
不应该是这种情况,因为我们有一个finally:代码块执行close()。
绝对没有。
绝对不是。
绝对不是。
有没有人使用python MySQLdb,更具体地说mysqlclient https://pypi.python.org/pypi/mysqlclient有任何问题?
不应该是这种情况,因为它大部分时间都在工作。
如果您有任何想法,我们将不胜感激!
****编辑***
最终代码如下所示:
def execute(self, query):
try:
connection = self.pool.connect()
cursor = connection.cursor()
cursor.execute(query)
data = cursor.fetchall()
return data
finally:
connection.close()
return data
该池初始化如下:
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)