【发布时间】:2020-04-28 12:07:26
【问题描述】:
我想执行多个查询而不互相阻塞。我创建了多个游标并执行了以下操作,但得到了mysql.connector.errors.OperationalError: 2013 (HY000): Lost connection to MySQL server during query
import mysql.connector as mc
from threading import Thread
conn = mc.connect(#...username, password)
cur1 = conn.cursor()
cur2 = conn.cursor()
e1 = Thread(target=cur1.execute, args=("do sleep(30)",)) # A 'time taking' task
e2 = Thread(target=cur2.execute, args=("show databases",)) # A simple task
e1.start()
e2.start()
但我得到了 OperationalError。阅读其他一些问题,一些人建议使用多个连接比多个游标更好。那么我应该使用多个连接吗?
【问题讨论】:
-
尝试在线程中创建游标。
-
您不能使用多个连接的任何特殊原因?游标可能无法做到这一点。无论如何它都不是 MySQLdb,请参阅here。
-
@KlausD。会试试的,谢谢。
-
@totalhack 我认为与游标相比,建立多个连接会很繁重......
标签: python mysql multithreading mysql-connector-python