MySQL

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'inactivité 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.

1. Le , 17:40 par Ddalu5
8ecc192118461974529c11147622863a

J'était entrain de chercher à résoudre ce souci quand je suis tombé sur cet article, personnellement j'ai fait autrement puisque j'ai remplacé MySQL par MariaDB (le fork de MySQL par le créateur de MySQL après son achat par Oracle) et je n'ai plus cette erreur, mais c'est intéressant de connaître la source du problème.

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.