Error : "MySQL has gone away"

  • Jun 17, 2012
  • debian, housing, système, tuning
  • JLepage

Situation
Lors d’un dumps / export de votre base ou même lors d’un import, vous tombez peut-être sur cette erreur bien mystérieuse... "MySQL has gone away" littéralement "MySQL s’est barré" (en vous laissant dans de beaux draps).. mais qu’est-ce que cela veut dire ?!

Théorie
Il s’avère qu’en fait MySQL a reçu trop de données lors d’une transaction, une sécurité s’est alors enclenchée et par sécurité le serveur vous a stoppé la connexion. Cette sécurité a pour bût de contrecarrer les tentatives de hack par "Buffer overflow".

Solution
La solution n’est pas très compliqué, bien qu’elle mérite de bien savoir pourquoi vous l’appliquez et dans quel contexte. En effet, il suffit de régler la variable max_allowed_packet dans le fichier my.ini
 

[client]
max_allowed_packet=10M
...
[mysql]
max_allowed_packet=10M