2013年,“查询期间与MySQL服务器的连接中断”

2024-06-25 23:13:58 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的MySQLConnector代码

import logging
import pymysql

logger = logging.getLogger(__name__)


class MySQLConnector:
    def __init__(self, config):
        self.connection = None
        self._connect(config=config)

    def _connect(self, config):
        config["charset"] = "utf8mb4"
        config["cursorclass"] = pymysql.cursors.DictCursor
        self.connection = pymysql.connect(**config)

    def read(self, query, params=None):
        result = None
        try:
            with self.connection.cursor() as cursor:
                cursor.execute(query, params)
                result = cursor.fetchall()
                self.connection.commit()
        except Exception as e:
            logger.error(e)
        return result

我是这样用的

connector = MySQLConnector(config=config)
while True:
    query = "SELECT * FROM my_table"
    print(connector.read(query=query))
    time.sleep(30)

这很好,但几个小时后,这个过程出现了错误(2013年,“查询时与MySQL服务器失去连接”),我找不到原因


Tags: importselfnoneconfigreadloggingdefconnect