使用multithreading.dummy.Pool和MySQLdb对MySQL数据库进行查询。得到错误:
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on
'127.0.0.1' (10055)")
任何人都可以帮忙解决这个问题吗?
全部谢谢。
P.S。抱歉我的英语不好。
UPD: 一些代码:
import MySQLdb as mdb
from multiprocessing.dummy import Pool as ThreadPool
def worker1(target):
con = mdb.connect(HOST, USER, PASSWORD, DB, charset='utf8')
cur = con.cursor()
cur.execute("insert into links values('"+target[0]+"', '"+target[1]+"', '"+target[2]+"','"+target[3]+"')")
con.commit()
con.close()
def main():
pool = ThreadPool(200)
pool.map(worker1, links)
pool.close()
pool.join()
答案 0 :(得分:0)
MySQL默认允许一次100个连接。代码产生200个线程,每个线程(尝试)连接到数据库。因此,100将失败。
考虑使用连接池。或者,告诉MySQL一次允许更多连接: