Error establishing a database connection… alors que tout semble bon !

Problématique

Vous avez votre WordPress installé. Tout est fonctionnel. Un beau matin, votre site affiche cette erreur.

Dans une situation habituelle, il convient de vérifier si le fichier wp-config.php est correctement renseigné. Ensuite, vous testez d’accéder à votre base de données, tout vous semble normal. Enfin, vous créez rapidement un petit script qui tente la connexion à votre base de données avec les mêmes paramètres que votre installation WordPress… et celui-ci fonctionne.

D'où provient cette erreur ?

Comme dit précédemment, habituellement cette erreur provient du fichier wp-config qui a une erreur de configuration. Il conviendra donc de la contrôler dans un premier temps. Ensuite, il faut vérifier qu’elle est fonctionnelle (en tentant d’accéder à celle-ci) et contacter votre hébergeur si ce n’est pas le cas, puis si elle est active qu’il n’y ait pas un piratage de votre base de données (en regardant sa taille, en observant les tables, en comparant à une sauvegarde…)

Si vous avez validé toutes ces étapes, il reste une cause que vous pouvez éventuellement identifier en comparant votre base à une sauvegarde récente : une corruption de données dans votre base de données

L’erreur traitée dans cet article peut être déclenchée lorsque la table wp-options est affectée par un problème.

Que faire pour résoudre ce problème ?

La table wp-options contient des réglages généraux de votre site web, des paramètres pour vos plugins, thèmes… et quelques données temporaires.
Parmi ces paramètres, il y a notamment l’URL de votre site, et c’est ce qui va nous intéresser.

  • Se connecter à votre base de données
  • Si nécessaire, temporairement, vous pouvez téléverser un phpMyAdmin via (S)FTP sur votre site https://www.phpmyadmin.net/downloads/
  • Se rendre dans la table wp-options
  • Voyez si vous pouvez identifier si le paramètre siteurl est bien présent et renseigné avec l’URL de votre site
  • Si non, exécutez la requête suivante :
    INSERT INTO `wp_options` VALUES (1,0,'siteurl','https://exemple.com/','yes')
    où https://exemple.com est à remplacer par l’URL de votre site

Si votre site refonctionne, il vous faudra dans un premier temps effectuer une sauvegarde complète de votre site (surtout la base de données), mais il vous sera impératif de vous demander comment ce problème a pu survenir. Il sera peut-être nécessaire d’effectuer un audit de votre site web afin d’en identifier les éventuelles faiblesses ou failles exploitées.

Parfois il se peut qu’il y ait plusieurs erreurs dans votre base de données. En complément, vous pouvez ajouter la ligne suivante dans votre fichier wp-config.php :
define('WP_ALLOW_REPAIR', true);

puis accéder à l’URL suivante : https://www.exemple.com/wp-admin/maint/repair.php où https://exemple.com est à remplacer par l’URL de votre site.
Cela enclenchera l’optimisation et la correction de votre base de données.

Laisser un Commentaire

Votre adresse électronique ne sera pas publiée.

Vous pourriez aussi aimer