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 »

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.

Message « Erreur de connexion à la base de données » dans Chrome
Message « Erreur de connexion à la base de données » dans Chrome

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 :

« Erreur d'établissement d'une connexion à la base de données » Erreur 500 révélée dans le fichier access.log.
« Erreur d’établissement d’une connexion à la base de données » Erreur 500 révélée dans le fichier access.log.

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.

500 error breakdown
500 error breakdown

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.

Créer une sauvegarde WordPress dans MyKinsta.
Créer une sauvegarde WordPress dans MyKinsta.

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.

Trouver l'icône du gestionnaire de fichiers dans cPanel.
Trouver l’icône du gestionnaire de fichiers dans cPanel.

Voici un exemple ci-dessous de ce à quoi ressemble le fichier une fois ouvert.

Informations wp-config.php
Informations wp-config.php

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.

L'icône phpMyAdmin dans cPanel.
L’icône phpMyAdmin dans cPanel.

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.

Trouver le nom de la base de données dans phpMyAdmin.
Trouver le nom de la base de données dans phpMyAdmin.

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.

Vérifier l'URL du site dans phpMyAdmin
Vérifier l’URL du site dans phpMyAdmin

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.

Accès refusé MySQL
Accès refusé MySQL

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.

La connexion à la base de données fonctionne correctement
La connexion à la base de données fonctionne correctement

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.

Bases de données MySQL dans cPanel
Bases de données MySQL dans cPanel

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.

Créer un nouvel utilisateur MySQL dans cPanel
Créer un nouvel utilisateur MySQL dans cPanel

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 ».

Ajouter un utilisateur à la base de données dans cPanel
Ajouter un utilisateur à la base de données dans cPanel

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.

Vérification des informations de la base de données dans MyKinsta.
Vérification des informations de la base de données dans MyKinsta.

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);
Mode de réparation de WordPress
Mode de réparation de WordPress

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.

Réparation de base de données WordPress
Réparation de base de données WordPress

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.

cPanel repair database
cPanel repair database

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.

Réparer les tables dans phpMyAdmin
Réparer les tables dans phpMyAdmin

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.

Télécharger WordPress
Télécharger WordPress

Décompressez ce fichier sur votre ordinateur. À l’intérieur, vous voudrez supprimer le dossier wp-content et le fichier wp-config-sample.php.

Supprimer le dossier wp-content
Supprimer le dossier wp-content

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.

Envoyer un message au Support en MyKinsta.
Envoyer un message au Support en MyKinsta.

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.

Restaurer une sauvegarde WordPress dans MyKinsta.
Restaurer une sauvegarde WordPress dans MyKinsta.

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.

Confirmer la restauration de WordPress
Confirmer la restauration de WordPress

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.

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.