Si vous avez navigué sur le web pendant un certain temps, vous avez au moins vu cette erreur à quelques reprises : « erreur de connexion à la base de données » .

La connexion est l’une de ces malédictions qui peuvent être causées par plusieurs raisons. En tant que débutant WordPress, cela pourrait être terriblement frustrant, surtout quand c’est arrivé tout seul sans que vous changiez quoi que ce soit. Nous avons rencontré ce problème hier sur notre propre site. Il a fallu un peu plus de 10 minutes pour détecter et résoudre le problème. Tout en faisant la recherche pour trouver des causes possibles, nous avons réalisé qu’il n’y avait pas de bon article qui couvrait tout.

Donc dans cet article, nous allons vous montrer comment corriger l’erreur de connexion a la base de données dans WordPress en compilant une liste de solutions :

Remarque: Avant de modifier une base de données, vérifiez que vous disposez de suffisamment de sauvegardes.


Pourquoi obtenez-vous cette erreur?

Eh bien, vous obtenez cette erreur parce que WordPress est incapable d’établir une connexion à la base de données. Maintenant, la raison pour laquelle WordPress est incapable d’établir une connexion à la base de données peut varier.

  • Il se peut que les informations d’identification de votre base de données soient erronées ou aient été modifiées.
  • Il se peut que votre serveur de base de données ne réponde pas.
  • Il se peut que votre base de données ait été corrompue.

D’après notre expérience, la plupart du temps, cette erreur se produit à cause d’une erreur de serveur, mais il peut y avoir d’autres facteurs. Jetons un coup d’oeil à la façon de résoudre ce problème.


Est-ce que le problème se produit pour / wp-admin / aussi  ?

La première chose que vous devriez faire est de vous assurer que vous obtenez la même erreur à la fois sur le front-end du site, et sur le back-end du site (wp-admin). Si le message d’erreur est le même sur les deux pages « erreur de connexion à la base de données », passez à l’étape suivante.

Si vous obtenez une erreur différente sur le wp-admin, par exemple quelque chose comme « Une ou plusieurs tables de base de données sont indisponibles ». La base de données peut avoir besoin d’être réparée, alors vous devez réparer votre base de données.

Vous pouvez le faire en ajoutant la ligne suivante dans votre fichier wp-config.php.

define('WP_ALLOW_REPAIR', true);

Une fois que vous avez fait cela, vous pouvez voir les paramètres en visitant cette page: http://www.yoursite.com/wp-admin/maint/repair.php

N’oubliez pas que l’utilisateur n’a pas besoin d’être connecté pour accéder à cette fonctionnalité lorsque cette définition est définie. C’est parce que son but principal est de réparer une base de données corrompue, les utilisateurs peuvent souvent ne pas se connecter lorsque la base de données est corrompue. Donc, une fois que vous avez terminé la réparation et l’optimisation de votre base de données, assurez-vous de supprimer cela de votre wp-config.php.

Si cette réparation n’a pas permis de résoudre le problème, ou si vous rencontrez des problèmes lors de la réparation, continuez à lire cet article car vous pourriez trouver une autre solution.


Vérification du fichier WP-Config

WP-Config.php est probablement le fichier le plus important de votre installation WordPress. C’est là que vous spécifiez les détails pour WordPress pour connecter votre base de données. Si vous avez modifié votre mot de passe root ou le mot de passe de l’utilisateur de base de données, vous devrez également modifier ce fichier. La première chose que vous devriez toujours vérifier est si tout dans votre fichier wp-config.php est le même.

define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');

N’oubliez pas que votre valeur DB_Host n’est peut-être pas toujours localhost. Selon l’hôte, ce sera différent. Pour les hôtes populaires comme HostGator, BlueHost, Site5, c’est localhost.

Certaines personnes ont suggéré qu’ils ont résolu leur problème en remplaçant localhost par l’adresse IP. Il est fréquent de voir ce genre de problème lors de l’exécution de WordPress sur un environnement de serveur local. Par exemple sur MAMP, la valeur DB_Host lors de la modification de l’adresse IP peut sembler fonctionner.

define('DB_HOST', '127.0.0.1:8889');

L’IP va varier pour les services d’hébergement Web en ligne.

Si tout ce qui est dans ce fichier est correct (assurez-vous de vérifier les fautes de frappe), alors il est juste de dire qu’il y a quelque chose qui ne va pas du côté serveur.
Vérifiez votre hébergeur (serveur MySQL)

Souvent, vous remarquerez cette erreur d’établissement de connexion à la base de données lorsque votre site est envahi par un trafic important. Fondamentalement, votre serveur hôte ne peut tout simplement pas gérer la charge serveur (spécialement lorsque vous êtes sur un hébergement mutualisé). Votre site deviendra vraiment lent et pour certains utilisateurs, il produira même l’erreur. Donc la meilleure chose que vous devriez faire est de vous connecter au téléphone (ou au livechat) avec votre hébergeur et demandez-lui si votre serveur MySQL est réactif.

Pour les utilisateurs qui veulent tester si le serveur MySQL fonctionne eux-même, vous pouvez faire quelques petites choses.

Testez d’autres sites sur le même serveur pour voir s’ils ont le problème. S’ils obtiennent également la même erreur, alors il y a certainement quelque chose de mal avec votre serveur MySQL. Si vous n’avez pas d’autre site sur ce même compte d’hébergement, allez simplement sur votre « cPanel » et essayez d’accéder à phpMyAdmin et de connecter la base de données. Si vous pouvez vous connecter, nous devons vérifier si l’utilisateur de votre base de données dispose des autorisations suffisantes. Créez un nouveau fichier appelé testconnection.php et collez le code suivant:

<?php $link = mysql_connect(‘localhost’, ‘root’, ‘password’); if (!$link) { die(‘Could not connect: ‘ . mysql_error()); } echo ‘Connected successfully’; mysql_close($link); ?>

Assurez-vous de remplacer le nom d’utilisateur et le mot de passe. Si le connecté avec succès, cela signifie que votre utilisateur a une autorisation suffisante, et il y a quelque chose d’autre qui ne va pas. Revenez dans votre fichier wp-config pour vous assurer que tout est correct (re-scan pour les fautes de frappe).

Si vous ne pouvez pas vous connecter à la base de données en accédant à phpMyAdmin, alors vous savez que c’est quelque chose avec votre serveur. Cela ne signifie pas nécessairement que votre serveur MySQL est en panne. Cela peut signifier que votre utilisateur n’a pas l’autorisation suffisante.

Dans notre cas, notre serveur MySQL était en cours d’exécution. Tous les autres sites sur les serveurs fonctionnaient correctement sauf pour notre site. Quand nous avons essayé d’aller à notre phpMyAdmin, nous avons fini par avoir l’erreur:

#1045 – Access denied for user ‘foo’@’%’ (using password: YES)

Nous avons vus au téléphone avec OVH et leur support a rapidement trouvé le problème. D’une manière ou d’une autre, les permissions de nos utilisateurs ont été réinitialisées. Je ne sais pas comment c’est arrivé, mais apparemment c’était la raison. Ils sont revenus et ont restauré les permissions et nous avons pu récupérer le site en ligne.

Donc, si vous obtenez l’erreur d’accès refusé en vous connectant à votre phpMyAdmin ou via les résultats de testconnection.php, alors vous devriez contacter votre hôte immédiatement pour les faire réparer.


Des solutions qui ont fonctionné pour les autres

Deepak Mittal  a déclaré que son client recevait l’erreur que la base de données doit être réparée. Même après avoir réparé la base de données, l’erreur ne s’est pas dissipée. Il a essayé différentes choses et à la fin, le problème était l’URL du site. Apparemment, cela a été changé, ce qui a causé la persistance de l’erreur. Il a couru la requête SQL en allant sur phpMyAdmin:

UPDATE wp_options SET option_value=’YOUR_SITE_URL’ WHERE

option_name=’siteurl’

Assurez-vous de remplacer YOUR_SITE_URL par l’exemple d’URL réel: http://www.wpbeginner.com. Les wp_options seront différentes si vous avez changé le préfixe de base de données WordPress par défaut.

Cela semblait régler le problème pour lui et quelques autres qui ont commenté son poste aussi.


Sachinum a annoncé qu’il était capable de connecter la base de données avec testconnection.php, donc il a changé l’utilisateur wp-config.php à l’utilisateur root. WordPress a commencé à fonctionner parfaitement bien. Ensuite, il a rétabli les paramètres à l’utilisateur de la base de données, et il a continué à fonctionner. Il ne pouvait pas comprendre ce qui n’allait pas, mais a conclu que c’était une faute de frappe.


Cutewonders a suggéré de supprimer le contenu de active_plugins dans la table wp_options et de modifier le contenu de recently_edited. Fondamentalement, cela semblait résoudre le problème.


Nous lisons sur de nombreuses sources que les utilisateurs ont simplement téléchargé une nouvelle copie de WordPress et il a corrigé l’erreur.


 

Conclusion : La panne de connexion a la BDD c’est vraiment frustrant. Qu’avez-vous essayé qui semblait fonctionner pour vous? Nous serions heureux de partager la dessus avec vous, afin que les autres n’aient pas à perdre autant de temps à trouver une solution.

 

@Bientôt