日期:2014-05-16  浏览次数:20806 次

mysql-python出现Lost connection错误
我做了个用python和mysql的程序。用python插入数据时没有错误。插入到现在一个表的记录已经有100W,现在插入还是没有问题,但在
update   (update songInfos set speed=100 where resultNumber=2295)

delete  (delete from songInfos where resultNumber=4903)
某一条记录时就出现:
OperationalError: (2013, 'Lost connection to MySQL server during query')

OperationalError: (2006, 'MySQL server has gone away')
程序在我本地的机器上跑没问题,拿到远程服务器上跑就“有时出现,有时不出现”这些错误。
我猜想是服务器上的表太大了的原因,毕竟在100W里面找一条记录。

不知道哪位高手有别的想法或是告知小弟个解决方法、这里先谢谢了,。

------解决方案--------------------


检查一下 select * from songInfos where resultNumber=4903 花了多少时间?

100w数据,看你在这个字段上有没有索引。

[color=#FFFFFF][/color]
------解决方案--------------------


速度很快啊.

如果方便,建议你直接测一下 update / delete ,如果也很快,则是不是由于多用户访问造成锁表的问题?
------解决方案--------------------
你的查询语句如果不优化的话,加大net_buffer_length和connect_timeout,还是不行的话,就报BUG!
------解决方案--------------------


引用我这里是多线程的,5个线程都在同时update / delete 操作。不过只在每个线程结束的时候操作,每个线程运行5-10秒。一个线程结束,另一个马上被创建,始终存在5个线程。

------解决方案--------------------


在你的datadir 对应的目录中。*.err