我有一个巨大的表,我需要处理其中的所有行.我总是得到这个丢失的连接消息,我无法重新连接并将光标恢复到它的最后位置.这基本上就是我在这里的代码:
#
import MySQLdb
class DB:
conn = None
def connect(self):
self.conn = MySQLdb.connect('hostname', 'user', '*****', 'some_table', cursorclass=MySQLdb.cursors.SSCursor)
def query(self, sql):
try:
cursor = self.conn.cursor()
cursor.execute(sql)
except (AttributeError, MySQLdb.OperationalError):
self.connect()
cursor = self.conn.cursor()
cursor.execute(sql)
return cursor
#
#
db = DB()
sql = "SELECT bla FROM foo"
data = db.query(sql)
for row in data:
do_something(row)
#
Run Code Online (Sandbox Code Playgroud)
但我总是得到这个:
#
Traceback (most recent call last):
File "teste.py", line 124, in <module>
run()
File "teste.py", line 109, in run
for row in data: …Run Code Online (Sandbox Code Playgroud) MYSQL InnoDB引擎中有一个数据库.当我在linux服务器上通过mysqldump命令备份我的数据库大约150 GB时.我收到错误消息
mysqldump丢失连接.
有一个大小为105 GB的表和大约420 000 000行,每小时平均插入大约10万行.备份在此表运行时出现错误.如何进行备份以及什么是万无一失的过程?