首页 > 解决方案 > Python & MySQL mysql.connector.errors.InterfaceError: 2013: Lost connection to MySQL server during query

问题描述

我正在尝试使用import mysql.connector 来自SELECT *远程数据库中约 190 万行的表。

当我使用 mysql cli 客户端运行相同的查询时,一切正常,所以我不认为问题出在网络或服务器端。我试过增加connection_timeout荒谬的数字,但我仍然遇到mysql.connector.errors.InterfaceError: 2013: Lost connection to MySQL server during query

任何想法接下来要尝试什么?

import mysql.connector

mydb = mysql.connector.connect(
        host="mysql.prod.example.com",
        user="user",
        password="pass",
        database="db",
        auth_plugin='mysql_native_password',
        connection_timeout=1000000
)

mycursor = mydb.cursor(dictionary=True)

mycursor.execute("SELECT * FROM table")

update_list = []

for row in mycursor:
        row_id = row["id"]
        row_ip = row["ip"]
        print("IP: "+row_ip)

        newlist = [row_id,row_ip,"/128"]
        update_list.append(newlist)

标签: pythonmysql

解决方案


从 Python2 切换到 3 解决了我的问题。

-   #!/usr/bin/python
+   #!/usr/bin/python3

推荐阅读