首页 > 解决方案 > Pymysql 和 Microsoft Azure Mysql 数据库“在查询期间丢失与 MySQL 服务器的连接”

问题描述

我尝试连接到 Mysql Azure 服务器并收到错误消息:

(2013, 'Lost connection to MySQL server during query')

在连接命令上。

我在这里读过几个类似的问题:

错误 2013 - 查询期间丢失与 MySQL 服务器的连接

错误 2013 - 查询期间丢失与 MySQL 服务器的连接

pymysql,查询期间丢失与 MySQL 服务器的连接

但是根据回溯,我的错误发生在 上connect(),并且上面的问题更多地与对数据库进行的大查询有关。

这是回溯:

  File "updateStock.py", line 125, in <module>
    main()
  File "updateStock.py", line 65, in main
    db = connection.connect()
  File "updateStock.py", line 22, in connect
    db="mydb")
  File "/usr/local/lib/python2.7/dist-packages/pymysql/__init__.py", line 94, in Connect
    return Connection(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 327, in __init__
    self.connect()
  File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 598, in connect
    self._request_authentication()
  File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 852, in _request_authentication
    auth_packet = self._read_packet()
  File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 656, in _read_packet
    packet_header = self._read_bytes(4)
  File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 702, in _read_bytes
    CR.CR_SERVER_LOST, "Lost connection to MySQL server during query")
pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query')

这是我的连接代码:

class DB:
    conn = None

    def connect(self):
        self.conn = pymysql.connect(host="myserver.database.azure.com",
                                    user="usert@myserver.mysql.database.azure.com",
                                    passwd="****",
                                    port=3306,
                                    db="mydb")
        return self
    def get_cursor(self):
        return self.conn.cursor(buffered=True)

def main():
    # try:
    connection = DB()
    db = connection.connect()
    cursor = db.get_cursor()

谁能帮我发现问题?

标签: pythonmysqlpymysql

解决方案


推荐阅读