WebSentinel.
Tutoriels

Erreur de connexion à la base de données WordPress : causes et solutions

· Nicolas Pivaut

L’écran blanc avec le message “Error establishing a database connection” est l’une des pannes les plus stressantes pour un propriétaire de site WordPress. Votre site est totalement inaccessible, vos clients ne peuvent plus vous contacter, et vous ne savez pas par où commencer. Ce guide vous explique les 4 causes principales et comment les résoudre vous-même.

Ce que signifie cette erreur

WordPress est un CMS qui stocke tout dans une base de données MySQL : vos articles, pages, réglages, utilisateurs. À chaque visite, WordPress se connecte à cette base pour lire et afficher le contenu. Quand la connexion échoue, le site ne peut rien afficher et retourne cette erreur générique.

L’erreur peut apparaître en frontal (visiteurs), en backend (tableau de bord /wp-admin), ou les deux à la fois. La localisation vous donne déjà une indication sur la cause.


Cause 1 : les identifiants dans wp-config.php sont incorrects

C’est la cause la plus fréquente, surtout après une migration ou un changement d’hébergeur.

Diagnostic

Ouvrez le fichier wp-config.php à la racine de votre WordPress (via FTP ou votre gestionnaire de fichiers). Cherchez ces 4 lignes :

define( 'DB_NAME', 'nom_de_la_base' );
define( 'DB_USER', 'utilisateur_mysql' );
define( 'DB_PASSWORD', 'mot_de_passe' );
define( 'DB_HOST', 'localhost' );

Solution

Connectez-vous à votre panel d’hébergement (cPanel, Plesk, etc.) et vérifiez les informations de votre base de données. Copiez-les exactement dans wp-config.php. Attention aux caractères spéciaux dans les mots de passe qui peuvent nécessiter des guillemets.

La valeur DB_HOST est presque toujours localhost, mais certains hébergeurs utilisent une adresse IP ou un port spécifique (localhost:3306 par exemple).


Cause 2 : le serveur MySQL est arrêté

Le service MySQL peut s’arrêter suite à une surcharge serveur, une mise à jour automatique, ou un incident chez l’hébergeur.

Diagnostic

Si vous avez accès à un panneau d’administration serveur (WHM, Plesk, SSH), vérifiez l’état du service MySQL. Sur un VPS en SSH :

systemctl status mysql

Solution

  • Hébergement mutualisé : contactez immédiatement votre hébergeur. Vous n’avez pas accès au service MySQL — c’est leur responsabilité.
  • VPS/serveur dédié : relancez le service avec systemctl restart mysql puis vérifiez les logs /var/log/mysql/error.log.

Si MySQL redémarre mais retombe en erreur quelques minutes plus tard, le problème est plus profond (tables corrompues, manque de mémoire RAM).


Cause 3 : la limite de connexions simultanées est atteinte

MySQL autorise un nombre maximum de connexions simultanées. Un pic de trafic, un plugin mal codé qui ouvre des connexions sans les fermer, ou un site sous attaque peut épuiser ce quota.

Diagnostic

Dans votre panel hébergeur, regardez si d’autres sites sur le même compte sont aussi tombés. Vérifiez les logs d’accès pour un pic de requêtes anormal.

Solution

  • Court terme : augmentez la valeur max_connections dans la configuration MySQL (nécessite accès serveur ou support hébergeur).
  • Moyen terme : activez un système de cache (WP Super Cache, W3 Total Cache) pour réduire les requêtes MySQL. Désactivez les plugins récemment installés un par un pour identifier celui qui crée des fuites de connexions.

Cause 4 : des tables MySQL sont corrompues

Une coupure de courant, un crash serveur, ou une mise à jour WordPress interrompue peuvent corrompre les tables de la base de données.

Diagnostic

WordPress détecte parfois lui-même la corruption et propose un lien pour réparer la base. Si ce n’est pas le cas, connectez-vous à phpMyAdmin via votre hébergeur, sélectionnez votre base, et cherchez des tables avec le statut “In use” ou “Crashed”.

Solution

Via phpMyAdmin :

  1. Sélectionnez toutes les tables affichées comme corrompues
  2. Dans le menu déroulant du bas, choisissez “Réparer la table”

Via wp-config.php : Ajoutez temporairement cette ligne, puis accédez à votresite.fr/wp-admin/maint/repair.php :

define( 'WP_ALLOW_REPAIR', true );

Supprimez cette ligne immédiatement après la réparation pour des raisons de sécurité.


Diagnostic étape par étape

  1. Vérifiez que votre hébergeur ne signale pas d’incident en cours (page de statut)
  2. Contrôlez les identifiants dans wp-config.php
  3. Testez la connexion à la base depuis phpMyAdmin avec ces mêmes identifiants
  4. Regardez si MySQL est actif dans votre panel
  5. Vérifiez l’intégrité des tables

Quand appeler un professionnel

Si après avoir suivi ces étapes l’erreur persiste, ou si vous n’êtes pas à l’aise avec l’accès FTP et phpMyAdmin, il vaut mieux ne pas insister seul. Une mauvaise manipulation sur la base de données peut aggraver la situation et entraîner une perte de données définitive.

Notre service d’urgence site WordPress intervient sous 2 heures pour remettre votre site en ligne. Pour éviter que ce type de panne se reproduise, un contrat de maintenance WordPress inclut des sauvegardes quotidiennes et une surveillance proactive de la base de données.


Prévention : ne subissez plus cette panne

  • Sauvegardez votre base de données tous les jours (plugin UpdraftPlus ou votre hébergeur)
  • Documentez les identifiants de connexion MySQL dans un gestionnaire de mots de passe
  • Mettez en place une alerte de disponibilité (UptimeRobot gratuit) pour être prévenu dès que le site tombe
  • Évitez les hébergements mutualisés bas de gamme où les ressources MySQL sont partagées entre des centaines de sites

Articles similaires

Conformité légale

Bouton de rétractation conforme

Module sur-mesure + installation + support 12 mois. WooCommerce, PrestaShop, Shopify. 149 €.

En savoir plus