Votre site affiche une page blanche avec une seule phrase : « Erreur lors de la connexion à la base de données. » Toutes les pages, y compris wp-admin, affichent la même chose. WordPress ne peut pas joindre la base de données où sont stockés vos articles, pages, réglages et commandes.
Le message est inquiétant, mais dans la plupart des cas vos données sont intactes. Le problème vient généralement de paramètres de connexion incorrects, d’un serveur de base de données arrêté ou surchargé, ou d’une table endommagée. Ce guide passe en revue les causes, des plus courantes aux moins fréquentes.
Avant de commencer : ne réinstallez pas WordPress et ne créez pas de nouvelle base de données. Cela peut compliquer considérablement la récupération. Sauvegardez d’abord vos fichiers si vous le pouvez.
Étape 1 : vérifier si le serveur de base de données est en panne
Si l’erreur est apparue soudainement sans modification de votre part, le serveur de base de données est peut-être en panne ou surchargé. C’est fréquent sur les hébergements mutualisés lors des pics de trafic.
- Consultez la page d’état ou le canal d’assistance de votre hébergeur pour repérer les pannes.
- Connectez-vous à votre panneau d’hébergement et ouvrez phpMyAdmin (ou l’outil de base de données de votre hébergeur). Si vous ne pouvez pas non plus y ouvrir la base, le problème vient du serveur.
- Si d’autres sites du même compte d’hébergement affichent la même erreur, le serveur est presque certainement en cause. Contactez votre hébergeur.
Étape 2 : vérifier les paramètres de la base dans wp-config.php
WordPress lit quatre valeurs dans wp-config.php. Ouvrez le fichier dans le gestionnaire de fichiers ou par SFTP et repérez :
define( 'DB_NAME', 'database_name' );
define( 'DB_USER', 'database_user' );
define( 'DB_PASSWORD', 'database_password' );
define( 'DB_HOST', 'localhost' );
Comparez chaque valeur avec la base et l’utilisateur indiqués dans votre panneau d’hébergement :
- DB_NAME doit correspondre exactement à une base existante, y compris le préfixe ajouté par votre hébergeur (par exemple
account_wp123). - DB_USER doit exister et être associé à cette base avec tous les privilèges.
- DB_PASSWORD doit être à jour. Si quelqu’un a changé le mot de passe de l’utilisateur de la base dans le panneau d’hébergement, modifiez-le ici aussi. En cas de doute, définissez un nouveau mot de passe pour cet utilisateur et copiez-le dans
wp-config.php. - DB_HOST vaut généralement
localhost, mais certains hébergeurs utilisent un nom de serveur distinct ou un port, commelocalhost:3306. La documentation de votre hébergeur indique la bonne valeur.
C’est la cause la plus courante après une migration de site ou un changement de mot de passe.
Étape 3 : tester la connexion en dehors de WordPress
Pour vérifier que les identifiants fonctionnent, créez un fichier temporaire nommé dbtest.php dans le dossier racine du site :
<?php
$link = mysqli_connect( 'localhost', 'database_user', 'database_password', 'database_name' );
echo $link ? 'Connected' : 'Failed: ' . mysqli_connect_error();
Ouvrez yoursite.com/dbtest.php dans un navigateur. « Connected » signifie que les paramètres sont corrects et que le problème vient d’ailleurs. « Failed » accompagné de « Access denied » signifie que l’identifiant ou le mot de passe est incorrect. Supprimez le fichier immédiatement après, car il contient le mot de passe de votre base de données.
Étape 4 : réparer les tables corrompues
Si wp-admin affiche un autre message, comme « Une ou plusieurs tables de la base de données sont indisponibles », certaines tables peuvent être endommagées. WordPress possède un outil de réparation intégré. Ajoutez cette ligne dans wp-config.php :
define( 'WP_ALLOW_REPAIR', true );
Ouvrez yoursite.com/wp-admin/maint/repair.php et cliquez sur Réparer la base de données. Une fois terminé, supprimez la ligne ajoutée. La page de réparation est accessible sans connexion tant que ce réglage est actif.
Vous pouvez aussi réparer les tables dans phpMyAdmin : sélectionnez la base, cochez toutes les tables et choisissez Réparer la table.
Étape 5 : vérifier l’URL du site et le préfixe des tables
Après une migration, deux problèmes moins évidents peuvent provoquer des erreurs ressemblant à des problèmes de connexion :
- Préfixe des tables :
$table_prefixdanswp-config.php(généralementwp_) doit correspondre au préfixe des tables de la base. Si les tables se nommentwp7x_options, le préfixe doit êtrewp7x_. - URL du site : si les valeurs
siteurlethomede la tablewp_optionspointent encore vers l’ancien domaine, vous pouvez voir des redirections ou des erreurs. Vérifiez-les dans phpMyAdmin.
Étape 6 : examiner les ressources du serveur
Si l’erreur apparaît puis disparaît, le serveur de base de données manque probablement de connexions disponibles ou de mémoire sous charge. Les causes courantes sont les pics de trafic, les robots, les extensions gourmandes et l’absence de cache de pages. Ajouter un cache de pages, bloquer les robots abusifs et passer à une offre d’hébergement supérieure sont les solutions habituelles à long terme. Votre hébergeur peut vous dire si vous atteignez les limites.
Besoin d’aide pour rétablir la connexion ? Notre service de réparation WordPress traite un problème signalé sur un seul site pour $45, après confirmation du périmètre et du résultat attendu. Une réparation de l’hébergement ou un travail distinct sur le serveur fait l’objet d’un devis séparé. Demander une réparation.
Questions fréquentes
Ai-je perdu tout mon contenu ?
C’est très peu probable. L’erreur signifie que WordPress ne peut pas se connecter à la base de données, pas qu’elle est vide. Une fois la connexion rétablie, votre contenu réapparaît.
Pourquoi l’erreur ne se produit-elle que parfois ?
Les erreurs intermittentes indiquent généralement que le serveur de base de données est surchargé ou atteint sa limite de connexions. Le cache et un meilleur hébergement résolvent ce problème ; changer les identifiants ne le résout pas.
L’erreur est apparue juste après la migration de mon site. Pourquoi ?
Le nom de la base, l’utilisateur, le mot de passe ou le serveur du nouvel hébergeur diffèrent des anciens, et wp-config.php contient encore les anciennes valeurs. Consultez notre guide pour migrer WordPress vers un nouvel hébergeur.
