Les bases de données sont des éléments clés de la plupart des sites web modernes, de sorte que les erreurs qui affectent le vôtre ont tendance à être particulièrement inquiétantes. L’erreur « MySQL server has gone away », par exemple, peut vous faire croire que votre base de données a été perdue. Cela signifie que vous devrez peut-être avoir recours à votre dernière sauvegarde pour que votre site soit opérationnel.

Malgré son aspect intimidant, l’erreur « MySQL server has gone away » est assez facile à corriger. En fait, avec les bonnes instructions, votre site web devrait être de nouveau opérationnel en quelques minutes.

Dans cet article, nous allons vous montrer à quoi ressemble l’erreur « MySQL server has gone away » et décomposer ce qui peut la causer dans WordPress. Ensuite, nous vous apprendrons comment le réparer et éviter que cette erreur ne se reproduise à l’avenir.

Mettons-nous au travail !

Une introduction à l’erreur « MySQL Server Has Gone Away »

Tout d’abord, jetons un coup d’œil rapide à quoi ressemble l’erreur « MySQL server has gone away » :

Navigateur affichant l'erreur « MySQL server has gone away ».
Navigateur affichant l’erreur « MySQL server has gone away ».

L’erreur elle-même est assez simple et elle apparaît presque toujours de la même façon. Cependant, selon le navigateur que vous utilisez et la configuration de votre serveur, le libellé spécifique peut changer un peu.

Quant à l’erreur elle-même, il s’agit de votre base de données MySQL, comme vous pouvez l’imaginer d’après son nom. Pour être plus précis, voici les trois causes principales de cette erreur sur la plupart des sites web :

  1. Il y a une table cassée dans votre base de données. Votre base de données a été corrompue, vous devez donc revenir à une sauvegarde récente ou la réparer.
  2. Votre réglage de « timeout » PHP est trop bas. Si un script PHP a besoin d’accéder à votre base de données et qu’il ne peut pas récupérer l’information dans la fenêtre de délai d’attente qui a été définie, cela peut également déclencher l’erreur susmentionnée.
  3. Les « paquets » ont été abandonnés ou sont trop grands. Le serveur considère que c’est le cas, il ferme essentiellement la connexion et affiche l’erreur.

Heureusement, toutes ces questions peuvent être facilement résolues. Parlons de la façon dont vous pouvez commencer le processus de dépannage.

Comment réparer l’erreur « MySQL Server Has Gone Away » dans WordPress (3 méthodes)

Comme nous l’avons vu, il y a quelques causes potentielles à cette erreur WordPress particulière.

Pour cette raison, il existe différentes solutions possibles. Dans la plupart des cas, l’un des correctifs ci-dessous devrait éliminer l’erreur sur votre site web. Donc, si l’une ne fonctionne pas, vous pouvez simplement passer à la suivante.

1. Modifier votre fichier WordPress wp-db.php

Si le délai d’attente PHP de votre site web est trop bas et que votre base de données est trop grande, récupérer les données dont vous avez besoin pendant cette fenêtre peut être un problème. Comme nous l’avons mentionné précédemment, cela peut déclencher l’erreur « MySQL server has gone away ».

Pour éviter que cela ne se produise, vous devrez modifier l’un de vos fichiers du noyau de WordPress, appelé wp-db.php. Vous pouvez trouver ce fichier dans votre dossier racine WordPress, en ouvrant le répertoire wp-includes :

Le fichier wp-db.php
Le fichier wp-db.php

Pour accéder à ces fichiers, nous vous recommandons d’utiliser un client FTP tel que FileZilla et de vous connecter via SFTP (comprendre la différence entre FTP et SFTP). Une fois connecté à votre site, localisez wp-db.php, et cliquez dessus avec le bouton droit de la souris pour ouvrir le fichier en utilisant votre éditeur de texte local par défaut. Suivez ce guide rapide pour afficher tous les fichiers cachés dans Filezilla.

Ensuite, recherchez la ligne suivante dans le fichier :

$this->ready = true;

Ajoutez la ligne suivante juste en dessous de ce code :

$this->query("set session wait_timeout=300");

Ce que fait ce code, c’est régler votre délai d’attente PHP à 300 secondes, ce qui devrait être beaucoup plus que ce dont vous avez besoin pour éviter que des erreurs ne se produisent.

Enregistrez maintenant les changements dans votre fichier wp-db.php et assurez-vous que votre site se charge comme il se doit.

Veuillez noter que si vous êtes un utilisateur de Kinsta, vous ne devriez pas avoir besoin de modifier les réglages de délai PHP de votre site web. Tous nos plans ont un délai d’attente de base de 300 secondes et nous pouvons vous aider à l’augmenter en fonction de vos besoins.

2. Réparer votre base de données WordPress

Parfois, votre base de données WordPress peut être corrompue, ce qui peut entraîner des erreurs lorsque vous essayez d’établir une connexion avec elle. Ce n’est pas courant, mais cela peut se produire dans le cadre d’un traitement normal au fur et à mesure que vous ajoutez des tables à votre base de données (ainsi que des informations sur les extensions et les thèmes).

Pour résoudre ce problème, vous pouvez utiliser une fonction WordPress intégrée pour réparer votre base de données. Cependant, vous devrez d’abord activer cette fonction. Cela implique de naviguer jusqu’à votre répertoire racine WordPress et d’ouvrir le fichier wp-config.php pour le modifier.

Une fois le fichier ouvert, faites défiler vers le bas et ajoutez-y la ligne suivante :

define('WP_ALLOW_REPAIR', true);

Cette simple ligne de code indique à WordPress d’activer la fonction de réparation de la base de données. Enregistrez les modifications dans wp-config.php et fermez le fichier. Pour exécuter la fonction, il suffit de visiter l’URL suivante :

https://yourwebsite.com/wp-admin/maint/repair.php

WordPress vous demandera alors si vous souhaitez simplement réparer votre base de données ou la réparer et l’optimiser. La première option est tout ce dont vous avez besoin pour corriger l’erreur « MySQL server has gone away » :

L'option de réparation de la base de données dans WordPress
L’option de réparation de la base de données dans WordPress

Le processus ne devrait pas prendre beaucoup de temps, et quand c’est fait, l’erreur en question devrait être partie. Cependant, vous avez encore du nettoyage à faire, car vous devrez désactiver la fonction de réparation de la base de données sur votre site web. Si vous ne le faites pas, n’importe qui pourrait le déclencher en accédant à la même URL.

Avant de terminer, revenez donc à votre répertoire racine de WordPress et supprimez la ligne de code que vous avez ajoutée précédemment. Enregistrez ensuite vos modifications dans le fichier et fermez-le.

3. Restaurer votre site web à l’aide d’une sauvegarde par l’intermédiaire de votre fournisseur d’hébergement

Si tout le reste échoue, vous pouvez toujours utiliser une sauvegarde complète de votre site web pour le restaurer à un moment où la base de données fonctionnait correctement. Idéalement, vous le ferez avec une sauvegarde récente afin de perdre le moins de données possible.

Le problème est que tous les hébergeurs WordPress n’offrent pas une fonctionnalité de sauvegarde intégrée pour leurs utilisateurs. Cela signifie que vous êtes souvent forcé d’utiliser des solutions manuelles telles que des extensions. Ces outils ne sont pas nécessairement mauvais, mais si vous n’avez pas accès à votre espace d’administration WordPress, restaurer une sauvegarde devient une tâche ardue.

Ici, chez Kinsta, en revanche, vous avez accès à des sauvegardes complètes de votre site web avec chaque plan. Pour restaurer votre site (y compris sa base de données) à un point antérieur, il vous suffit d’accéder à votre tableau de bord d’hébergement et de rechercher l’onglet Sauvegardes :

Restaurez votre sauvegarde dans MyKinsta
Restaurez votre sauvegarde dans MyKinsta

Cliquez sur la sauvegarde que vous voulez restaurer et vous verrez plus de détails sur la date de sa création. Pour chaque sauvegarde, il y a un bouton Restaurer que vous pouvez utiliser pour remettre votre site web dans son état à ce moment-là.

N’oubliez pas cependant que l’utilisation de cette fonctionnalité écrasera la version actuelle de votre site web. Vous ne voudrez donc l’utiliser comme mesure de dernier recours que si vous êtes sûr de ne pas perdre d’informations critiques.

Résumé

Plus votre site web grandit, plus il aura besoin de stocker de données. Toutes ces informations vont dans votre base de données WordPress. Dans certains cas, si elle devient trop volumineuse, vous pouvez rencontrer des erreurs telles que « MySQL server has gone away ».

Si vous rencontrez cette erreur particulière, voici trois façons de vous en débarrasser :

  1. Modifiez votre fichier WordPress wp-db.php.
  2. Réparez votre base de données WordPress.
  3. Restaurez votre site web à l’aide d’une sauvegarde effectuée par votre hébergeur.

Dans cet autre guide, nous vous présentons des conseils et des étapes supplémentaires pour réparer les problèmes de votre base de données WordPress.

Maintenant que vous savez comment réparer, il est temps de vous débarrasser de ce message d’erreur ennuyeux. Si vous rencontrez toujours des problèmes avec MySQL, vous voudrez peut-être vérifier comment réparer l’erreur MySQL 1064.