Contexte
Le site WordPress affichait soudainement le message « Error establishing a database connection ». Aucun contenu n’était accessible, y compris l’administration. L’incident est critique, car WordPress dépend entièrement de la base de données pour fonctionner.
Symptômes observés
- Message d’erreur de connexion à la base de données sur tout le site.
- Back-office
/wp-admininaccessible. - Aucun changement récent côté contenu, mais une intervention serveur planifiée.
- Accès SFTP et panel hébergeur encore disponibles.
Objectifs du dépannage
- Rétablir l’accès au site sans restauration complète.
- Identifier si l’erreur est liée aux identifiants, au serveur ou aux tables.
- Vérifier l’intégrité de la base de données.
- Mettre en place des contrôles pour éviter une récidive.
Diagnostic
- Contrôle du fichier
wp-config.php(DB_NAME, DB_USER, DB_PASSWORD, DB_HOST). - Test de connexion MySQL/MariaDB via phpMyAdmin.
- Vérification de l’état du serveur de base de données.
- Contrôle du préfixe des tables WordPress.
Cause identifiée
Une modification serveur avait réinitialisé l’utilisateur de base de données. Les identifiants définis dans wp-config.php n’étaient plus valides, ce qui empêchait toute connexion malgré une base intacte.
Correctifs appliqués
1) Mise à jour des identifiants DB
- Création d’un nouvel utilisateur MySQL.
- Attribution des droits complets sur la base WordPress.
- Mise à jour sécurisée de
wp-config.php.
2) Vérification de l’intégrité des tables
- Contrôle du préfixe des tables (
wp_ou personnalisé). - Réparation légère des tables via phpMyAdmin.
3) Validation applicative
- Test d’accès front-office et admin.
- Contrôle des contenus récents et des réglages clés.
Exemple technique : paramètres DB dans wp-config.php
À vérifier en priorité lors de cette erreur.
define('DB_NAME', 'nom_base');
define('DB_USER', 'utilisateur_db');
define('DB_PASSWORD', 'motdepasse_db');
define('DB_HOST', 'localhost');
Exemple technique : activer la réparation de la base
À utiliser ponctuellement, puis à désactiver.
define('WP_ALLOW_REPAIR', true);
Exemple technique : test rapide via WP-CLI
Permet de confirmer la connexion et l’état général.
wp db check
wp db tables
Résultats
- Site remis en ligne sans restauration.
- Base de données intacte et fonctionnelle.
- Accès admin rétabli immédiatement.
- Aucune perte de contenu.
Prévention mise en place
- Documentation des accès DB et rotation contrôlée des identifiants.
- Sauvegardes automatiques vérifiées.
- Surveillance de la disponibilité MySQL.
Points clés à retenir
- Cette erreur est souvent liée aux identifiants DB, pas à WordPress lui-même.
- Un accès phpMyAdmin ou WP-CLI suffit souvent à résoudre sans restauration.
- Modifier
wp-config.phpdoit toujours se faire avec méthode.