Erreur de 2006: “MySQL server has gone away” à l'aide de Python, Bouteille Microframework et Apache

Après avoir eu accès à mon application web à l'aide de:

- Python 2.7

- la Bouteille de micro framework v. 0.10.6

- Apache 2.2.22

- mod_wsgi

- sur le Serveur Ubuntu 12.04 64 bits; je reçois cette erreur après plusieurs heures d'ouverture:

OperationalError: (2006, 'MySQL server has gone away')

Je suis en utilisant MySQL - le natif inclus dans Python. Cela arrive souvent lorsque je n'ai pas accès au serveur. J'ai essayé de fermer toutes les connexions, ce qui je ne, en utilisant ceci:

cursor.close()
db.close()

où db est la norme MySQLdb.Connexion ().

Le mon.cnf fichier ressemble à ceci:

key_buffer      = 16M
max_allowed_packet  = 128M
thread_stack        = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10

C'est le fichier de configuration par défaut à l'exception de max_allowed_packet est 128M au lieu de 16M.

Les requêtes à la base de données sont assez simples, tout au plus ils récupèrent environ 100 enregistrements.

Quelqu'un peut-il m'aider à résoudre ce problème? Une idée que j'ai eu a utiliser try/except mais je ne suis pas sûr si cela fonctionne réellement.

Merci d'avance,

Jamie

Mise à jour: essayez de/à l'exception des appels ne fonctionne pas.

OriginalL'auteur Jamie | 2012-09-16