Ik probeerde de aanpak van Crasched, wat me op een nieuwe OperationalError bracht:
OperationalError: (2013, 'Lost connection to MySQL server during query')
Mijn uiteindelijke oplossing was om eerst de ping te proberen, en als er nog een OperationalError was opgetreden, om opnieuw verbinding te maken en de cursor opnieuw te maken met de nieuwe verbinding, zoals zo:
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)
Terug in bedrijf!
Python 2.7, MySQL 5.5.41