Base de connaissances

1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !

Résoudre une erreur MySQL (server has gone away)

Ce guide permet de résoudre une erreur de type "Invalid query: MySQL server has gone away".

 

Préambule

 

Solutions

Pour éviter l'erreur "MySQL server has gone away", voici plusieurs approches possibles:

Vérification et reconnexion automatique

Avant d'exécuter une requête, il est recommandé de tester si la connexion MySQL est toujours active. Si la connexion a été fermée, vous pouvez la rétablir automatiquement avant de poursuivre avec votre requête. Voici un exemple en PHP :

if (!mysqli_ping($connexion)) {
mysqli_close($connexion);
$connexion = mysqli_connect($host, $user, $password, $database);
}

La fonction mysqli_ping() vérifie si la connexion est toujours valide. Si elle ne l'est pas, le script ferme la connexion et en ouvre une nouvelle.

Envoi de "Ping" régulier

Un autre moyen consiste à exécuter un script qui envoie régulièrement un "ping" à la base de données pour maintenir la connexion active. Par exemple vous pourriez créer une tâche planifiée (cron job) qui envoie une requête légère, comme SELECT 1; à intervalles réguliers.

Ajustement des paramètres MySQL (Serveur Cloud)

Avec un Serveur Cloud, vous pouvez augmenter les valeurs des variables wait_timeout et interactive_timeout depuis le menu MySQL de votre serveur pour prolonger la durée de la connexion avant qu'elle ne soit fermée. 

Lien vers cette FAQ:


Cette FAQ a été utile?