В нижней строке: Как вы обновляете соединение MySQL в django?
После ошибки MySQL server has gone away
я обнаружил, что документация по MySQL и другие источники (здесь) предлагают увеличить параметр wait_timeout
MySQL. Для меня это похоже на обходное решение, а не на решение. Я бы предпочел сохранить разумный wait_timeout
и обновить соединение в коде.
Ошибка:
File "C:\my_proj\db_conduit.py", line 147, in load_some_model
SomeModel.objects.update()
File "C:\Python26\lib\site-packages\django-1.3-py2.6.egg\django\db\models\manager.py", line 177, in update
return self.get_query_set().update(*args, **kwargs)
File "C:\Python26\lib\site-packages\django-1.3-py2.6.egg\django\db\models\query.py", line 469, in update
transaction.commit(using=self.db)
File "C:\Python26\lib\site-packages\django-1.3-py2.6.egg\django\db\transaction.py", line 142, in commit
connection.commit()
File "C:\Python26\lib\site-packages\django-1.3-py2.6.egg\django\db\backends\__init__.py", line 201, in commit
self._commit()
File "C:\Python26\lib\site-packages\django-1.3-py2.6.egg\django\db\backends\__init__.py", line 46, in _commit
return self.connection.commit()
OperationalError: (2006, 'MySQL server has gone away')
Настройка: Django 1.3.0, MySQL 5.5.14, innodb 1.1.8, Python 2.6.6, Win7 64bit