Jag provade Crascheds tillvägagångssätt, vilket fick mig till ett nytt OperationalError:
OperationalError: (2013, 'Lost connection to MySQL server during query')
Min slutliga lösning var att först försöka pinga, och om ett annat OperationalError uppstod, att återansluta och återskapa markören med den nya anslutningen, så här:
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)
Tillbaka i verksamheten!
Python 2.7, MySQL 5.5.41