Vous rencontrez de temps à autre cette fameuse erreur fâcheuse "MySQL server has gone away" ? Voici quelques astuces pour résoudre cette erreur ...
Cette erreur a généralement lieu dès lors que vous avez ouvert une connexion MySQL et que la base n'y détecte aucune activité.

Soit votre traitement est trop long, dans ce cas pensez à maintenir des échanges avec la base de données régulièrement via des mysql_ping()

Sinon augmentez la valeur du "wait_timeout" (etc/mysql/my.cnf) de votre base de données à une durée suffisamment haute pour permettre d'éviter à votre base de donnée de fermer trop tôt ses connexions. Mais attention, le changement de ce paramètre peut avoir des conséquences très négatives sur le nombre de connexions ouvertes d'autant plus si celles-ci sont parfois mal fermées par votre applicatif.


# Au bout de 5 minutes d'inactivitC) la base fermera sa connexion automatiquement
wait_timeout=300

Si cette modification n'est toujours pas suffisante après un redémarrage de votre base données, pensez à augmenter la taille maximale des données pouvant être remontées par MySQL :


max_allowed_packet=64m

La connexion a été perdue probablement parce que la taille des données remontée est supérieure à la taille autorisée par défaut.

Vous souhaitez aller plus loin dans l'optimisation de votre base ? Découvrez l'outil Mysqltuner !