MySQLdb.Connect raises.OperationalError:无法连接到MySQL服务器

时间:2014-06-11 18:31:25

标签: python python-2.7 multiprocessing mysql-python

使用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()

1 个答案:

答案 0 :(得分:0)

MySQL默认允许一次100个连接。代码产生200个线程,每个线程(尝试)连接到数据库。因此,100将失败。

考虑使用连接池。或者,告诉MySQL一次允许更多连接:

http://major.io/2007/01/24/increase-mysql-connection-limit/