Pourquoi WordPress affiche-t-il une erreur de connexion à la base de données ?

WordPress affiche « Erreur lors de la connexion à la base de données » ? Découvrez les causes habituelles, les vérifications sans risque et pourquoi cela signifie rarement que votre contenu est perdu.

Ouvrir un ticket de support

Si votre site affiche le message « Error establishing a database connection » (en français : « Erreur lors de la connexion à la base de données »), WordPress fonctionne mais ne parvient pas à communiquer avec la base de données où est stocké votre contenu.

Chaque page, article, produit, commande, utilisateur et réglage d’un site WordPress se trouve dans cette base de données. Quand WordPress ne peut pas y accéder, il n’a rien à afficher : tout le site s’arrête généralement sur cette seule ligne de texte. Le tableau de bord est normalement touché lui aussi.

Le message paraît grave, et pour un site professionnel il l’est : les visiteurs ne voient rien d’utile tant que ce n’est pas réparé. Cependant, dans la plupart des cas, cela ne signifie pas que vos données ont été supprimées. Cela signifie généralement que la base de données est temporairement inaccessible, surchargée, ou que WordPress utilise de mauvaises informations pour s’y connecter.

Ce guide explique ce que signifie le message, les causes les plus fréquentes, ce que vous pouvez vérifier sans risque et quand il vaut mieux demander une assistance technique.

Que signifie réellement cette erreur ?

Un site WordPress comporte deux parties principales :

  • les fichiers, comme WordPress lui-même, les plugins, les thèmes et les images téléversées
  • la base de données, qui stocke le contenu et les réglages

Lorsque quelqu’un ouvre une page, WordPress lit un fichier de configuration appelé wp-config.php pour savoir où se trouve la base de données et comment s’y connecter. Il se connecte ensuite au serveur de base de données et demande le contenu de la page.

L’erreur apparaît lorsque cette connexion échoue. WordPress ne sait pas exactement pourquoi : il affiche donc le même message générique, que le serveur de base de données soit hors service, que le mot de passe soit erroné ou que le serveur soit simplement trop occupé pour répondre.

C’est pourquoi le message seul ne peut pas vous dire ce qui a causé le problème. Il vous indique où se situe le problème, pas de quoi il s’agit.

Mon contenu est-il perdu ?

Généralement non.

Dans la plupart des cas, les données sont toujours là. WordPress ne parvient simplement pas à y accéder pour le moment. Une fois la connexion rétablie, le site réapparaît normalement exactement comme avant.

Il existe des exceptions, par exemple une panne de serveur, une base de données supprimée ou une corruption grave. Elles sont moins fréquentes, et c’est une raison de plus pour éviter les actions précipitées comme restaurer une ancienne sauvegarde ou réinstaller WordPress avant de connaître la cause.

Quelles sont les causes les plus fréquentes ?

Le serveur de base de données est hors service ou surchargé

Sur la plupart des offres d’hébergement, la base de données tourne sur un serveur géré par l’hébergeur. Si ce serveur redémarre, est en maintenance ou est surchargé, WordPress ne peut pas se connecter.

Signes qui vont dans ce sens :

  • l’erreur est apparue soudainement, sans que personne ne modifie le site
  • elle va et vient, surtout aux heures de forte affluence
  • d’autres sites du même compte d’hébergement affichent la même erreur
  • l’hébergeur signale un incident ou une maintenance

Un pic de trafic, un robot agressif, un import volumineux ou un plugin qui se comporte mal peuvent aussi surcharger la base de données, si bien que certaines requêtes échouent tandis que d’autres réussissent.

Les informations de connexion dans wp-config.php sont erronées

wp-config.php contient quatre informations dont WordPress a besoin pour se connecter :

  • le nom de la base de données
  • l’utilisateur de la base de données
  • le mot de passe de cet utilisateur
  • l’hôte de la base de données, c’est-à-dire l’adresse du serveur de base de données

Si l’une d’elles est erronée, la connexion échoue. Cela arrive souvent :

  • après une migration vers un nouvel hébergeur ou un nouveau serveur
  • après la modification du mot de passe de la base de données dans le panneau d’hébergement
  • après la restauration d’une ancienne copie de wp-config.php
  • après que l’hébergeur a déplacé la base de données vers un autre serveur
  • après la suppression de l’utilisateur de la base de données ou la perte de ses autorisations

Si l’erreur est apparue juste après l’un de ces événements, c’est la cause la plus probable.

Les tables de la base de données sont endommagées

Les tables de la base de données peuvent se corrompre, par exemple après un plantage du serveur, un disque plein ou une opération interrompue. Dans ce cas, WordPress peut se connecter mais échouer à lire ce dont il a besoin.

Parfois, le site public affiche l’erreur de connexion tandis que le tableau de bord affiche un autre message indiquant que la base de données doit être réparée.

Le compte d’hébergement a atteint une limite

Les offres d’hébergement ont souvent des limites concernant :

  • le nombre de connexions simultanées à la base de données
  • l’espace disque, que la base de données utilise aussi
  • la taille de la base de données
  • l’utilisation du processeur ou de la mémoire

Lorsqu’une limite est atteinte, la base de données peut refuser de nouvelles connexions ou cesser de fonctionner correctement. L’hébergeur peut généralement le confirmer rapidement.

Le compte a été suspendu

Si le compte d’hébergement a été suspendu, par exemple pour une facture impayée, un problème de conformité aux conditions ou un problème de sécurité, la base de données peut être désactivée alors que les fichiers restent en ligne. Vérifiez les e-mails de votre hébergeur.

Que faut-il vérifier en premier ?

Vous n’avez pas besoin d’ouvrir de fichiers pour recueillir des informations utiles.

Vérifiez si l’erreur est permanente ou intermittente

Rechargez le site plusieurs fois sur quelques minutes, de préférence dans une fenêtre de navigation privée.

  • Si l’erreur est toujours présente, un problème de configuration ou une base de données complètement hors service est plus probable.
  • Si elle va et vient, une surcharge ou des limites d’hébergement sont plus probables.

Vérifiez si quelque chose a changé

Réfléchissez à ce qui s’est passé juste avant l’apparition de l’erreur :

  • Le site a-t-il été migré ou déplacé vers un nouveau serveur ?
  • Quelqu’un a-t-il changé un mot de passe dans le panneau d’hébergement ?
  • Une sauvegarde a-t-elle été restaurée ?
  • L’hébergeur a-t-il annoncé une maintenance ?
  • Un gros import, une newsletter ou une promotion étaient-ils en cours ?
  • Quelqu’un a-t-il installé un nouveau plugin ?

Une note comme « l’erreur a commencé le lendemain matin du changement de mot de passe de la base de données » peut faire gagner beaucoup de temps d’investigation.

Vérifiez les autres sites du même compte

Si vous hébergez plusieurs sites chez le même fournisseur, ouvrez-les. S’ils affichent tous la même erreur, le problème se situe très probablement du côté de l’hébergement, pas dans votre installation WordPress.

Consultez la page d’état et les e-mails de votre hébergeur

Recherchez :

  • une page d’état ou un avis d’incident de votre hébergeur
  • des e-mails concernant une maintenance, des limites ou une suspension
  • des avertissements sur l’espace disque dans le panneau d’hébergement

Que pouvez-vous essayer sans risque ?

Contactez votre hébergeur

Pour cette erreur précise, l’hébergeur est souvent le meilleur premier contact. Il peut généralement confirmer rapidement si :

  • le serveur de base de données fonctionne
  • la base de données et son utilisateur existent toujours
  • le compte a atteint une limite
  • la valeur d’hôte de base de données que vous devez utiliser est correcte
  • il y a eu un incident ou une maintenance

Posez-lui clairement la question : « Le serveur de base de données de mon compte fonctionne-t-il, et le nom de la base de données, l’utilisateur et l’hôte sont-ils toujours les mêmes ? »

Contactez la dernière personne qui a travaillé sur le site

Si un développeur, une agence ou un collègue a récemment migré le site, modifié des réglages d’hébergement ou restauré une sauvegarde, demandez-lui ce qu’il a modifié. Il saura peut-être immédiatement quelle valeur doit être corrigée.

Attendez quelques minutes si l’erreur est intermittente

Si l’hébergeur confirme une surcharge temporaire ou une maintenance, le site peut revenir de lui-même. Il restera une question à éclaircir plus tard : pourquoi la base de données était surchargée, et si cela pourrait se reproduire à un moment important pour votre activité.

Que faut-il éviter ?

Quand le site est hors ligne, il est tentant d’essayer plusieurs corrections rapidement. Évitez de :

  • réinstaller WordPress
  • restaurer une sauvegarde avant de connaître la cause, car elle peut écraser des commandes, des saisies de formulaires ou du contenu récents
  • créer une nouvelle base de données vide et y faire pointer WordPress, ce qui fait ressembler le site à une installation neuve
  • supprimer ou recréer l’utilisateur de la base de données sans noter les anciennes informations
  • modifier wp-config.php sans enregistrer d’abord une copie de l’original
  • copier du code ou des réglages trouvés au hasard sur des forums
  • lancer des outils de réparation à répétition sans comprendre ce qu’ils font

Si, après une modification, vous voyez l’écran d’installation de WordPress au lieu de votre site, arrêtez-vous. Cela signifie généralement que WordPress est connecté à une base de données vide ou différente, pas que votre contenu a disparu. Ne terminez pas l’installation.

Quand faut-il demander une assistance technique ?

Demandez de l’aide lorsque :

  • l’erreur persiste et l’hébergeur affirme que tout va bien de son côté
  • l’erreur est apparue après une migration ou une restauration
  • le site gère des commandes, des réservations, des abonnements ou des données clients
  • l’erreur revient sans cesse pendant les périodes chargées
  • le tableau de bord indique que la base de données doit être réparée
  • vous n’êtes pas à l’aise pour modifier wp-config.php
  • vous n’êtes pas sûr qu’une sauvegarde récente soit fiable
  • vous soupçonnez que le site a pu être compromis

Vous n’avez pas besoin d’identifier vous-même la cause d’abord. Une demande utile peut simplement décrire ce que vous voyez, quand cela a commencé et ce qui a changé.

Quelles informations rassembler ?

Les éléments utiles sont notamment :

  • l’URL du site
  • une capture d’écran de l’erreur
  • le moment où le problème a commencé
  • si l’erreur est permanente ou intermittente
  • toute modification récente, comme une migration, un changement de mot de passe ou une restauration
  • le nom de l’hébergeur
  • tout e-mail ou réponse de ticket de l’hébergeur
  • si d’autres sites du même compte sont touchés
  • si une sauvegarde récente est disponible

N’envoyez pas de mots de passe de base de données ni d’identifiants d’hébergement par simple e-mail. D4Hub peut vous indiquer quels accès sont nécessaires et comment les partager en toute sécurité.

Comment D4Hub peut vous aider

L’objectif n’est pas seulement de faire disparaître l’erreur, mais de comprendre pourquoi la connexion a échoué et de réduire le risque que cela se reproduise.

Selon la situation, D4Hub peut vous aider à :

  • vérifier les informations de connexion à la base de données utilisées par WordPress
  • se coordonner avec votre hébergeur pour confirmer l’état du serveur de base de données
  • corriger les problèmes de configuration après une migration ou un changement de mot de passe
  • vérifier et réparer en toute sécurité les tables de base de données endommagées
  • enquêter sur une surcharge, des requêtes lentes ou des plugins qui sollicitent la base de données
  • examiner les limites d’hébergement et recommander une configuration plus adaptée
  • évaluer si une restauration de sauvegarde est nécessaire et quelles données elle pourrait écraser
  • tester la connexion, les formulaires, le checkout et les autres fonctions clés une fois le site revenu

Vous pouvez demander un accompagnement à n’importe quel stade, que vous veniez de voir l’erreur, que vous ayez déjà parlé à votre hébergeur ou que vous ayez essayé une correction qui n’a pas fonctionné.

Ouvrir un ticket de support

Pour les utilisateurs autonomes : vérifier la connexion à la base de données

Les vérifications suivantes s’adressent aux personnes à l’aise avec le SFTP, le SSH, WP-CLI et leur panneau d’hébergement.

Avant toute modification, téléchargez une copie de wp-config.php et, si possible, faites une sauvegarde de la base de données. Ne collez jamais wp-config.php, des mots de passe ou des logs complets dans des forums publics ou des chats de support.

Vérifiez les informations de la base de données dans wp-config.php

Ouvrez wp-config.php, généralement dans le dossier principal de WordPress, et repérez ces lignes :

define( 'DB_NAME', 'database_name' );
define( 'DB_USER', 'database_user' );
define( 'DB_PASSWORD', 'database_password' );
define( 'DB_HOST', 'localhost' );

Comparez chaque valeur avec ce que votre panneau d’hébergement indique pour la base de données et son utilisateur. Faites attention :

  • aux préfixes que certains hébergeurs ajoutent automatiquement aux noms de base de données et d’utilisateur
  • à DB_HOST, qui n’est pas toujours localhost : certains fournisseurs utilisent un nom d’hôte distinct, un port comme localhost:3306 ou un chemin de socket
  • aux mots de passe contenant une apostrophe droite ou une barre oblique inverse, qui doivent être échappées dans la chaîne PHP

Si vous modifiez une valeur, changez une seule chose à la fois et rechargez le site après chaque modification.

Avec WP-CLI, vous pouvez lire les valeurs sans ouvrir le fichier :

wp config get DB_NAME
wp config get DB_USER
wp config get DB_HOST

Testez la connexion avec le client mysql

Si vous disposez d’un accès SSH, essayez de vous connecter avec les mêmes informations que WordPress :

mysql -h localhost -u database_user -p database_name

Remplacez localhost, database_user et database_name par vos propres valeurs. L’option -p fait demander le mot de passe par le client au lieu de l’enregistrer dans l’historique de votre shell.

Si la connexion fonctionne, listez les tables :

SHOW TABLES;

Tapez ensuite exit pour quitter.

Comment lire le résultat :

  • « Access denied » : l’utilisateur, le mot de passe ou les autorisations sont erronés
  • « Unknown database » : le nom de la base de données est erroné ou la base de données n’existe plus
  • « Can't connect » ou un dépassement de délai : la valeur d’hôte est erronée ou le serveur de base de données est hors service
  • la connexion fonctionne mais il n’y a aucune table : WordPress pointe vers une base de données vide

Vérifiez les tables avec WP-CLI

Si la connexion fonctionne, WP-CLI peut vérifier les tables à l’aide des informations de wp-config.php :

wp db check

Le résultat liste chaque table avec son état. Des tables signalées comme corrompues ou plantées indiquent une base de données endommagée plutôt qu’un problème de connexion.

WP-CLI propose aussi wp db repair. Ne l’utilisez qu’après avoir sauvegardé la base de données, et de préférence avec l’aide de votre hébergeur ou d’un développeur si la base de données est volumineuse ou si le site gère des commandes.

N’utilisez la page de réparation de WordPress qu’en dernier recours

WordPress intègre un outil de réparation. Pour l’activer, ajoutez cette ligne dans wp-config.php, avant la ligne qui indique « That's all, stop editing » (dans les installations en français : « C’est tout, ne touchez pas à ce qui suit ! ») :

define( 'WP_ALLOW_REPAIR', true );

Ouvrez ensuite :

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

Important : tant que cette ligne est active, la page de réparation peut être ouverte par n’importe qui, sans connexion. Supprimez la ligne de wp-config.php dès que la réparation est terminée, et vérifiez que la page ne fonctionne plus.

Faites une sauvegarde de la base de données avant de lancer la réparation, et ne l’utilisez pas si vous n’êtes pas sûr que le problème soit une corruption des tables.

Consultez les logs d’erreurs de l’hébergement

La plupart des panneaux d’hébergement donnent accès aux logs d’erreurs PHP ou du serveur. Recherchez les erreurs enregistrées au moment où le site a cessé de fonctionner, comme des connexions refusées, un trop grand nombre de connexions ou un disque plein.

Les logs peuvent contenir des informations sensibles. Relisez-les avant de les partager, et ne les partagez que par un canal sécurisé.

D4Hub peut vous aider à interpréter les résultats de ces vérifications et à décider de la prochaine étape la plus sûre.

Questions fréquentes

Cette erreur signifie-t-elle que mon site a été piraté ?

Généralement non. Les causes les plus fréquentes sont des problèmes d’hébergement ou de mauvaises informations de connexion. Une compromission est possible, par exemple si quelqu’un a modifié wp-config.php ou le mot de passe de la base de données, mais ce n’est qu’une possibilité parmi d’autres. Si vous remarquez aussi des utilisateurs inconnus, des redirections étranges ou des fichiers inattendus, mentionnez-le lorsque vous demandez de l’aide.

Pourquoi l’erreur n’apparaît-elle que de temps en temps ?

Une erreur intermittente signifie souvent que le serveur de base de données est surchargé ou que le compte atteint une limite de connexions. Les pics de trafic, les robots, les plugins lourds ou les tâches planifiées peuvent tous y contribuer. L’hébergeur peut généralement voir quand la limite a été atteinte.

J’ai changé le mot de passe de la base de données et le site est maintenant hors ligne. Que s’est-il passé ?

WordPress a toujours l’ancien mot de passe dans wp-config.php. Le nouveau mot de passe doit aussi être inscrit sur la ligne DB_PASSWORD. Si vous n’êtes pas à l’aise pour modifier le fichier, votre hébergeur ou D4Hub peut vous aider.

Dois-je restaurer une sauvegarde ?

Pas en premier lieu. Si la cause est un mauvais réglage ou un problème de serveur de base de données, une restauration n’aidera pas et pourrait écraser des commandes, des messages ou du contenu plus récents. La restauration n’a de sens qu’une fois la cause comprise et la sauvegarde vérifiée.

Le tableau de bord indique que la base de données doit être réparée. Est-ce sans risque ?

L’outil de réparation intégré est conçu pour cela, mais sauvegardez d’abord la base de données et pensez à supprimer ensuite la ligne WP_ALLOW_REPAIR. Si le site gère des commandes ou des données clients, envisagez de demander de l’aide avant de le lancer.

Pourquoi mon site affiche-t-il maintenant l’écran d’installation de WordPress ?

Cela signifie généralement que WordPress est connecté à une base de données vide ou différente de l’originale, ou que le préfixe des tables dans wp-config.php ne correspond pas aux tables existantes. Ne terminez pas l’installation. Vérifiez le nom de la base de données et le préfixe des tables, ou demandez de l’aide.

D4Hub peut-il m’aider si l’hébergeur affirme que tout va bien ?

Oui. Transmettez ce que l’hébergeur vous a dit et ce que vous avez déjà essayé. D4Hub peut vérifier la configuration, la base de données et le site lui-même pour trouver où la connexion échoue.

Ressources associées

Services et technologies associés