Python MySQL连接随机丢失

时间:2013-08-09 15:32:41

标签: python connection mysql-python

我有以下问题:

我使用Python与MySQLdb和SSDictCursor迭代一个相当大的数据库(250M行)。因为我无法将所有内容加载到RAM中,所以我使用的是流API。在MySQL服务器上,max_allowed_pa​​cket大小已设置为512M。

我从不同的计算机(也来自服务器计算机本身)运行我的脚本,并且在随机数量的处理行之后随机时间不断崩溃并出现以下错误:

_mysql_exceptions.OperationalError: (2013, 'Lost connection to MySQL server during query')
Exception _mysql_exceptions.OperationalError: (2013, 'Lost connection to MySQL server during query') in <bound method SSDictCursor.__del__ of <MySQLdb.cursors.SSDictCursor object at 0x7fa360e1a690>> ignored

我没有使用线程或任何花哨的东西。我完全不知道为什么会这样。有谁知道如何解决这个问题呢?

编辑:一些示例代码。

mysql = MySQLdb.connect("host", "user", "pass", "db")

cursor = mysql.cursor(MySQLdb.cursors.SSDictCursor)
cursor.execute("select stuff from database order by date asc")
for row in cursor:
     # just repacking all the information in the cursor row into some dict

cursor.close()

希望这段代码能帮到你。在for循环中,我只在本地defaultdict中进行一些查找。

大约有80M条目(或者也许是40M或其他),我的程序因上述错误而停止。必须按顺序传输数据。此外,由于处理行的随机数,我很确定这不是因为数据库中的某些错误行。在服务器本身,只有我运行的服务器实例,没有其他程序。

0 个答案:

没有答案