Tôi đã thử cách tiếp cận của Crasched, cách này đã đưa tôi đến một OperationalError mới:
OperationalError: (2013, 'Lost connection to MySQL server during query')
Giải pháp cuối cùng của tôi trước tiên là thử ping và nếu một OperationalError khác xuất hiện, để kết nối lại và tạo lại con trỏ với kết nối mới, như sau:
try:
self.connection.ping(True)
except MySQLdb.OperationalError:
self.connection = MySQLdb.connect(
self.db_host,
self.db_user,
self.db_passwd,
self.db_dbase,
self.db_port)
# reconnect your cursor as you did in __init__ or wherever
self.cursor = self.connection(
MySQLdb.cursors.DictCursor)
Trở lại công việc kinh doanh!
Python 2.7, MySQL 5.5.41