Freelance Developpeur Expert ColdFusion, Internet & web 2.0 - Développeur CF/Railo (CFML), Java, Php, Perl, Python spécialiste. Expertise sur MOA, maitrise d'oeuvre applicative, architecture logiciel, SEO SMO, développement, optimisation et tuning gagné auprès de grands comptes, de petites et moyennes entreprises. Compétences en SQL, JavaScript (JS), JQuery, ExtJS, MVC, CMS, CRM, Framework et outils de management. Web Développeur sur Spip, WordPress, Magento, ezPublish, Drupal, Typo3, Joomla!

Error : "MySQL has gone away"

> Tech> SQL & Base de données

Erreur que vous rencontrez souvent lors de dumps de la base...

debian, housing, système, tuning,

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

Il me parait préférable de bien régler le client aussi afin que les deux soient bien identique dans l’échange.

par JLepage.info le 17 juin 2012 à 19:41