L’erreur d’établissement d’une connexion à une base de données est probablement l’une des erreurs les plus courantes que les utilisateurs de WordPress peuvent rencontrer. Elle est étroitement liée à l’écran blanc de la mort (White Screen Of Death ou WSOD). Cette erreur signifie que votre site web ne communique plus ou n’a plus accès à votre base de données WordPress; ainsi, votre site web tout entier tombe en panne.
Vous devez résoudre cette erreur immédiatement, car cela peut affecter directement vos ventes, votre trafic et vos analyses.
Mais ne vous inquiétez pas, aujourd’hui nous allons discuter de certains scénarios courants qui provoquent cette erreur et de quelques moyens faciles pour remettre votre site en marche en un rien de temps.
Consultez notre guide vidéo pour résoudre « erreur de connexion à une base de données »
Qu'est-ce que le message « Erreur lors de l'établissement de la connexion à la base de données » ?
L’erreur de connexion à la base de données survient quand un site web n’arrive pas à se connecter à la base de données de WordPress, ce qui empêche la page de se charger. Les causes les plus courantes de ce problème sont des informations de connexion incorrectes et une corruption de la base de données.
Voici comment cela fonctionne : toutes les informations de votre site WordPress, telles que les données des articles, les données des pages, les méta-informations, les réglages des extensions, les informations de connexion, etc. sont stockées dans votre base de données MySQL. Les seules données qui n’y sont pas stockées sont les contenus multimédias tels que les images et les fichiers de votre thème/extension/cœur tels que index.php, wp-login.php, etc.
Quand quelqu’un visite votre site web, PHP exécute le code de la page, interroge les informations depuis la base de données, puis les affiche au visiteur dans son navigateur.
Si cela ne fonctionne pas correctement, vous vous retrouvez avec le message « erreur d’établissement d’une connexion à la base de données », comme vu ci-dessous. La page entière est vide car aucune donnée ne peut être récupérée pour rendre la page, car la connexion ne fonctionne pas correctement. Non seulement cela casse l’interface publique de votre site, mais cela vous empêchera également d’accéder à votre tableau de bord WordPress.
Cependant, les visiteurs ne verront peut-être pas tout de suite cette erreur sur l’interface publique. C’est parce que votre site est très probablement encore en train de servir à partir du cache jusqu’à ce qu’il expire. Par exemple, chez Kinsta, tous les sites WordPress sont mis en cache pendant une heure par défaut. Par conséquent, si un site est toujours en service à partir du cache, il peut sembler acceptable à un visiteur.
Chez Kinsta, notre équipe de support peut augmenter la durée de votre cache à, disons, une heure ou même une semaine si vous le souhaitez. Si vous avez un site qui ne change pas très souvent, cela peut augmenter les performances de votre site car il ne doit pas saisir de nouveaux fichiers aussi souvent après l’expiration du cache. Et dans des cas comme celui qui précède, l’interface publique du site, dans la plupart des cas (à moins qu’un script ou une partie de votre site ne brise le cache), restera en ligne beaucoup plus longtemps.
Lorsque des visiteurs essaient d’accéder à votre site pendant que cette erreur se produit, cela génère un code d’état HTTP 500 dans vos journaux. Ce même code d’état apparaît avec une « erreur de serveur interne » Cela signifie que quelque chose s’est mal passé sur le serveur et que la ressource demandée n’a pas été livrée. Lorsque tout fonctionne correctement, votre site génère un code d’état 200 HTTP, ce qui signifie que tout va bien.
Les clients de Kinsta peuvent évaluer les journaux de leur site dans le tableau de bord MyKinsta :
Si vous êtes un client Kinsta, vous pouvez également consulter le rapport de ventilation des erreurs 500 dans MyKinsta analytics pour voir s’il s’agit d’un problème récurrent.
Quelles sont les causes de l’erreur « Erreur d’établissement d’une connexion à la base de données » ?
Alors pourquoi cela se produit-il exactement ? Eh bien, voici quelques raisons courantes ci-dessous. Et ne vous inquiétez pas, nous allons examiner chacune d’entre elles plus en profondeur afin que vous sachiez comment les résoudre. En général, vous pouvez résoudre cette erreur en moins de 15 minutes.
Informations de connexion à la base de données incorrectes
Votre site WordPress utilise des informations de connexion distinctes pour se connecter à sa base de données MySQL.
Base de données corrompue
Avec tant de pièces mobiles avec les thèmes, les extensions, et les utilisateurs qui les suppriment et les installent constamment, il arrive que les bases de données soient corrompues. Cela peut être dû à une table manquante ou corrompue individuellement, ou peut-être que certaines informations ont été supprimées par accident.
Fichiers corrompus dans votre installation WordPress
Cela peut même arriver à cause de pirates informatiques.
Problèmes avec votre serveur de base de données
Plusieurs choses peuvent être mauvaises du côté de votre hébergeur, comme une surcharge de la base de données depuis un pic de trafic ou un manque de réactivité dû à un trop grand nombre de connexions simultanées. Ce problème est courant chez les hébergeurs partagés, car ils utilisent les mêmes ressources pour de nombreux utilisateurs sur les mêmes serveurs.
Pic de trafic
Selon l’hébergeur que vous utilisez, il se peut que votre serveur ne soit pas en mesure de gérer un grand nombre de connexions simultanées à la base de données. Une augmentation du trafic peut entraîner des problèmes temporaires au niveau de la base de données.
Comment résoudre le problème « Erreur d’établissement d’une connexion à la base de données » ?
Avant de dépanner l’erreur, nous vous recommandons de faire une sauvegarde de votre site WordPress. Plusieurs des recommandations ci-dessous impliquent la manipulation d’informations dans votre base de données, vous ne voulez donc pas aggraver la situation. Vous devriez toujours faire une sauvegarde avant d’essayer de réparer votre site WordPress, même si vous pensez être un expert en technologie.
Vous pouvez utiliser une extension WordPress de sauvegarde populaire telle que VaultPress ou WP Time Capsule pour sauvegarder vos fichiers et votre base de données.
Si vous êtes un utilisateur de Kinsta, vous pouvez profiter de notre fonctionnalité de sauvegarde intégrée. Cliquez sur votre site WordPress dans MyKinsta et sélectionnez Sauvegardes. Ensuite, cliquez sur l’onglet Manuel et cliquez sur le bouton Sauvegarder maintenant pour créer une sauvegarde manuellement.
Vous avez ensuite également la possibilité de restaurer une sauvegarde vers la production ou le staging. Ou vous pouvez sauvegarder manuellement votre base de données MySQL en utilisant phpMyAdmin. Une fois la sauvegarde réussie, il est temps de résoudre les problèmes de connexion à votre base de données.
1. Vérifiez les informations de connexion à votre base de données
La première chose à faire est de vérifier que vos identifiants de connexion à la base de données sont corrects. C’est de loin la raison la plus courante pour laquelle le message « erreur lors de l’établissement d’une connexion à la base de données » apparaît. Surtout juste après que les gens aient migré vers un nouvel hébergeur. Les détails de connexion de votre site WordPress sont stockés dans le fichier wp-config.php, qui est généralement situé à la racine de votre site WordPress.
Il contient quatre informations importantes qui doivent être correctes pour que la connexion se fasse avec succès.
Nom de la base de données
// ** MySQL settings ** //
// The name of the database for WordPress
define('DB_NAME', 'xxxxxx');
Nom d’utilisateur de la base de données MySQL
// MySQL database username
define('DB_USER', 'xxxxxx');
Mot de passe de la base de données MySQL
// MySQL database password
define('DB_PASSWORD', 'xxxxxxxxx');
Nom d’hôte MySQL (serveur)
// MySQL hostname
define('DB_HOST', 'localhost');
Pour accéder à votre fichier wp-config.php, vous pouvez vous connecter à votre site via SFTP et naviguer jusqu’à la racine de votre site. Ou, si vous utilisez cPanel, vous pouvez cliquer sur « Gestionnaire de fichiers », aller jusqu’à la racine de votre site et faire un clic droit pour modifier le fichier.
Voici un exemple ci-dessous de ce à quoi ressemble le fichier une fois ouvert.
Vous devez maintenant vérifier vos valeurs actuelles par rapport à celles de votre serveur pour vous assurer qu’elles sont correctes. Suivez les instructions ci-dessous pour les utilisateurs de cPanel et Kinsta.
Vérifier les informations d’identification de la base de données dans cPanel
La première chose à vérifier est le nom de la base de données. Pour cela, vous devez vous connecter à phpMyAdmin dans cPanel sous la section Bases de données.
Vous devriez voir le nom de votre base de données en bas à gauche. Vous pouvez ignorer la base de données « information_schema » car elle est utilisée par l’hôte. Vous voudrez ensuite comparer ce nom avec la valeur DB_NAME dans votre fichier wp-config.php. S’ils correspondent, le problème n’est pas là. S’ils ne correspondent pas, vous devez mettre à jour votre fichier wp-config.php.
Vous pouvez également vérifier qu’il s’agit de la bonne base de données en vous assurant qu’elle contient l’URL de votre site WordPress. Pour cela, cliquez sur la base de données, puis sur la table wp_options (celle-ci peut être légèrement différente pour des raisons de sécurité, comme wpxx_options). En haut de la table, vous verrez des valeurs pour l’URL et le nom de votre site. Si ceux-ci correspondent à votre site actuel, vous pouvez être sûr que vous êtes au bon endroit.
Si le nom de votre base de données était déjà correct et que vous obtenez toujours le message « erreur lors de l’établissement d’une connexion à la base de données », vous voudrez également vérifier votre nom d’utilisateur et votre mot de passe. Pour ce faire, vous devrez créer un nouveau fichier PHP dans le répertoire racine de votre site WordPress et saisir le code suivant. Vous pouvez le nommer comme vous le souhaitez, par exemple checkdb.php. Changez les valeurs de db_user et db_password avec celles de votre fichier wp-config.php.
<?php
$test = mysqli_connect('localhost', 'db_user', 'db_password');
if (!$test) {
die('MySQL Error: ' . mysqli_error());
}
echo 'Database connection is working properly!';
mysqli_close($testConnection);
Ensuite, parcourez le fichier sur votre site WordPress : https://votredomaine.com/checkdb.php. Si vous obtenez une « Erreur MySQL : Accès refusé », alors vous savez que votre nom d’utilisateur ou votre mot de passe est incorrect, et vous devrez passer à l’étape suivante pour réinitialiser vos informations d’identification.
Ci-dessous se trouve le message que vous voulez voir, « La connexion à la base de données fonctionne correctement » Mais bien sûr, si c’était le cas, vous ne seriez pas ici. Veillez à supprimer ce fichier lorsque vous aurez terminé vos tests.
Ensuite, vous devez réinitialiser votre nom d’utilisateur et votre mot de passe. Dans cPanel, cliquez sur Bases de données MySQL sous la section Bases de données.
Faites défiler vers le bas et créez un nouvel utilisateur MySQL. Essayez de choisir un nom d’utilisateur et un mot de passe uniques afin qu’ils ne puissent pas être facilement devinés. L’outil générateur de mot de passe qu’ils fournissent fonctionne très bien. Cliquez ensuite sur « Créer un utilisateur ». Vous pouvez également modifier le mot de passe sur cet écran pour l’utilisateur actuel de la base de données.
Faites ensuite défiler vers le bas et ajoutez votre nouvel utilisateur à votre base de données. L’écran suivant vous demandera quels privilèges vous souhaitez attribuer. Sélectionnez « Tous les privilèges ».
Prenez ensuite ces nouvelles informations d’identification et mettez à jour votre fichier wp-config.php. Vous voudrez mettre à jour les valeurs DB_USER et DB_PASSWORD. Vous pouvez également ré-exécuter le fichier de test de tout à l’heure. Cela devrait alors résoudre votre problème d’informations d’identification. Si ce n’est pas le cas, il se peut que vous ayez toujours le mauvais nom d’hôte (DB_HOST). Certains hôtes utilisent des valeurs différentes.
Consultez la liste de certaines valeurs courantes de l’hôte DB. Généralement, il s’agit de localhost. Mais vous pouvez toujours contacter votre hébergeur ou consulter sa documentation si vous n’êtes pas sûr. Certains peuvent également utiliser 127.0.0.1 au lieu de localhost.
Si vous avez suivi toutes les étapes ci-dessus et que vous recevez toujours le message « erreur lors de l’établissement d’une connexion à la base de données », passez aux étapes de dépannage suivantes.
Vérifier les informations d’identification de la base de données avec Kinsta
Si vous êtes un utilisateur Kinsta, la vérification de vos informations d’identification par rapport à votre fichier wp-config.php et au serveur est beaucoup plus facile ! Tout ce que vous avez à faire est de cliquer sur la section Info de votre site dans le tableau de bord MyKinsta, et vers le bas, vous verrez le nom de la base de données, le nom d’utilisateur et le mot de passe. Par défaut, Kinsta utilise localhost pour le DB_HOST.
Prenez ensuite ces nouvelles informations d’identification et mettez à jour votre fichier wp-config.php. Vous voudrez mettre à jour les valeurs DB_USER et DB_PASSWORD. Cela devrait alors résoudre votre problème d’informations d’identification. Si vous avez besoin de réinitialiser ces informations d’identification, contactez notre équipe d’assistance. Si vous avez suivi toutes les étapes ci-dessus et que vous recevez toujours le message « erreur lors de l’établissement d’une connexion à la base de données », passez aux étapes de dépannage suivantes.
2. Réparer une base de données WordPress corrompue
Dans certains cas, il se peut que votre base de données soit devenue corrompue. Cela peut se produire occasionnellement (mais pas très souvent) car, au fil du temps, des centaines de tables sont constamment ajoutées/supprimées par de nouvelles extensions ou de nouveaux thèmes. Si vous essayez de vous connecter au tableau de bord de votre site WordPress et que vous recevez l’erreur suivante, cela signifie que votre base de données est corrompue : « Une ou plusieurs tables de la base de données sont indisponibles. La base de données peut avoir besoin d’être réparée ». Il est important de noter que vous pourriez ne voir cette erreur que sur l’administration, alors que vous voyez le message « erreur d’établissement d’une connexion à la base de données » sur l’interface publique.
WordPress dispose d’un mode de réparation de la base de données que vous pouvez lancer. Ajoutez ce qui suit au bas de votre fichier wp-config.php.
define('WP_ALLOW_REPAIR', true);
Ensuite, allez jusqu’à l’emplacement suivant sur votre site WordPress : https://votredomaine.com/wp-admin/maint/repair.php. Vous aurez alors la possibilité de réparer la base de données ou de réparer et d’optimiser la base de données. Puisque vous êtes probablement en train de dépanner une panne sur votre site maintenant, nous vous recommandons d’utiliser l’option de réparation de la base de données car elle est plus rapide.
Après avoir exécuté la réparation de la base de données ci-dessus, assurez-vous de supprimer la ligne de code que vous avez ajoutée à votre fichier wp-config.php. Sinon, n’importe qui sera en mesure d’accéder à la page repair.php. Si vous utilisez cPanel, vous pouvez également exécuter une réparation depuis l’écran des bases de données MySQL.
Vous pouvez également lancer une réparation à partir de phpMyAdmin. Il suffit de se connecter à phpMyAdmin, de cliquer sur votre base de données, et de sélectionner toutes les tables. Puis, dans la liste déroulante, cliquez sur « Réparer la table » Il s’agit essentiellement d’exécuter la commande REPAIR TABLE.
Et enfin, votre autre option serait d’exécuter la réparation en utilisant WP-CLI avec la commande suivante :
wp db repair
Vous trouverez plus de documentation sur l’utilisation dans les ressources du développeur WordPress.
Si vous voulez optimiser votre base de données, nous avons d’excellents tutoriels sur la façon d’optimiser les révisions de WordPress pour les performances, ainsi que sur la façon de convertir vos tables MyISAM en InnoDB. Si vous avez toujours des problèmes sur votre site, passez à l’étape de dépannage suivante.
Lecture suggérée : Comment réparer l’erreur « MySQL Server Has Gone Away » dans WordPress.
3. Réparer les fichiers WordPress corrompus
La raison suivante pour laquelle vous pourriez voir le message « erreur lors de l’établissement d’une connexion à la base de données » est que vos fichiers de base WordPress sont devenus corrompus. Que ce soit à cause d’un problème de transfert de fichiers par FTP, d’un pirate qui accède à votre site ou d’un problème avec votre hébergeur, vous pouvez rapidement résoudre ce problème. Cependant, nous vous recommandons de faire une sauvegarde de votre site avant d’essayer.
Vous allez remplacer la version de base de WordPress sur votre site. Vous ne touchez pas à vos extensions, thèmes ou médias, juste à l’installation de WordPress elle-même.
Cependant, vous risquez de perdre les modifications ou le code personnalisé que vous avez ajouté à des fichiers tels que .htaccess ou wp-config.php. Si vous avez sauvegardé votre site web avant le dépannage, vous aurez des copies de ces fichiers que vous pourrez restaurer plus tard.
Pour commencer, vous devez télécharger une nouvelle copie de WordPress depuis WordPress.org.
Décompressez ce fichier sur votre ordinateur. À l’intérieur, vous voudrez supprimer le dossier wp-content et le fichier wp-config-sample.php.
Téléversez ensuite les fichiers restants via SFTP sur votre site, en écrasant vos fichiers existants. Cela remplacera tous les fichiers problématiques et vous assurera d’avoir des fichiers propres et non corrompus. Il est recommandé de vider le cache de votre navigateur après avoir effectué cette opération. Vérifiez ensuite votre site WordPress pour voir si l’erreur existe toujours.
4. Vérifier les problèmes avec votre serveur de base de données
Si rien de ce qui précède ne vous a aidé à résoudre votre problème, nous vous recommandons vivement de vérifier auprès de votre fournisseur d’hébergement car il pourrait s’agir d’un problème avec votre serveur de base de données. Par exemple, s’il y a trop de connexions simultanées à votre base de données, cela pourrait générer une erreur. Cela est dû au fait que de nombreux hébergeurs limitent le nombre de connexions autorisées en même temps sur leurs serveurs. L’utilisation d’une extension de mise en cache peut aider à minimiser les interactions avec la base de données sur votre site. Si vous êtes un client Kinsta, vous n’avez pas besoin d’extensions de mise en cache, car nous avons une mise en cache rapide au niveau du serveur.
Ce problème peut se produire souvent sur les hôtes partagés, car quelqu’un d’autre pourrait théoriquement affecter votre site. Ceci est dû au fait que les hôtes partagés utilisent toutes les mêmes ressources sur les serveurs. C’est une autre raison pour laquelle nous recommandons d’utiliser un hôte WordPress infogéré à haute performance, afin que les choses ne soient pas surchargées. Cela signifie également que l’environnement est généralement bien réglé pour gérer de grandes quantités de trafic, en particulier sur les sites WordPress.
L’équipe d’assistance compétente de Kinsta est toujours à portée de clic en bas à droite du tableau de bord et disponible 24/7 si vous avez besoin d’aide. Et n’oubliez pas que nous avons des représentants pour vous aider en plusieurs langues, notamment en anglais, espagnol, français, italien et portugais.
5. Restaurer la dernière sauvegarde
Et enfin, vous pouvez toujours avoir recours à une sauvegarde si nécessaire. Dans certains cas, cela peut être un moyen plus rapide de résoudre le problème si vous ne craignez pas de perdre des données entre le moment où votre dernière sauvegarde a été effectuée. De nombreux hébergeurs ont leur propre processus de restauration des sauvegardes. N’oubliez pas que vous devrez peut-être restaurer à la fois votre base de données et vos fichiers.
Si vous êtes un utilisateur de Kinsta, vous pouvez rapidement restaurer une sauvegarde de votre site dans la section Sauvegardes de votre site. Choisissez le moment où vous voulez revenir en arrière et cliquez sur Restaurer vers. Vous pouvez ensuite sélectionner si vous voulez restaurer vers votre site de staging ou votre site en production.
Vous serez ensuite invité à confirmer la restauration. Saisissez le nom de votre site et cliquez sur « OK ». Il crée également une sauvegarde au moment de la restauration afin que vous puissiez annuler la restauration si nécessaire.
Résumé
Comme vous pouvez le constater, il existe plusieurs façons de corriger l’erreur d’établissement d’une connexion à la base de données dans WordPress. La plus courante étant les informations d’identification invalides dans le fichier wp-config.php. Vérifier que ces informations sont correctes est le meilleur point de départ. La dernière chose que vous souhaitez pour un site web est de subir des temps d’arrêt.
Espérons que l’une des étapes ci-dessus vous a aidé à remettre votre site en état de marche. N’oubliez pas que vous pouvez toujours restaurer votre site à partir d’une sauvegarde si nécessaire.
Avez-vous rencontré le message Erreur lors de l’établissement d’une connexion à la base de données sur votre site ? Si oui, avez-vous pu le résoudre ? Faites-le nous savoir ci-dessous dans les commentaires.
Merci beaucoup, j’ai réussi grâce à votre article!
Grand Merci. j’ai pu résoudre mon problème grâce à vous.
Excellent : je viens de résoudre mon problème d’accès à ma base de données grâce à votre chapitre « Vérifier les identifiants de base de données dans cPanel »; clair, précis et efficace.
Grand merci.
Bonjour,
Merci pour tous vos conseils.
J’ai importé un site construit via wordpress, en local, sur mon hébergeur OVH via Filezila.
Effectivement, le nom de le mot de passe de la base de données étaient à corriger, mais cela n’a pas suffit à résoudre mon problème.
Quand il a fallu rajouter le petit fichier checkdb.php. J’ai eu un message d’erreur mais juste error sans aucune explication. Donc impossible à interpréter pour moi. Dommage….
A ce jour, je n’ai toujours pas réussi à résoudre mon problème à par remettre ma sauvegarde. Mais du coup, mon site est toujours obsolète.
Bonjour,
Merci pour votre retour.
Il y a en effet le nom de la base de données, le nom d’utilisateur, et le mot de passe à vérifier, mais il y a aussi le préfixe de la base de données à vérifier, par défaut c’est wp_ (il est d’ailleurs conseillé de le changer pour des raisons de sécurité). Il faut que ce préfixe corresponde bien à ce que vous avez dans la base de données.
Si tout est correct mais que vous avez toujours l’erreur, il faudra peut-être regarder du côté des logs : https://kinsta.com/fr/blog/erreur-500-internal-server/#3-vrifier-les-logs-de-votre-serveur
J’espère que cela vous aidera à corriger votre soucis. 😊