WordPress n’arrive pas à joindre sa base de données, l’endroit où sont rangés articles, pages, réglages et comptes. Sans elle, il ne peut rien afficher, d’où ce message sur toutes les pages. Soit les informations de connexion de wp-config.php ne sont plus bonnes, soit le serveur de base de données ne répond pas. Selon l’installation, le message s’affiche en français ou en anglais.
Pourquoi cette erreur apparaît
- Les identifiants de wp-config.php (nom de la base, utilisateur, mot de passe, serveur) ne correspondent plus, souvent après une migration ou un changement de mot de passe chez l’hébergeur.
- Le serveur de base de données de l’hébergeur est arrêté, saturé ou en maintenance.
- Le compte a atteint une limite de connexions simultanées, et le serveur refuse les nouvelles demandes.
- La base elle-même est endommagée : l’administration affiche alors plutôt « One or more database tables are unavailable ».
Comment corriger le problème
Ouvrir l’administration et l’état de l’hébergeur
Allez sur votre-site.fr/wp-admin : si un autre message apparaît, comme « One or more database tables are unavailable », la base répond mais elle est abîmée. Consultez aussi la page d’état des services de votre hébergeur, que beaucoup publient : une panne en cours se règle de son côté.
Comparer wp-config.php avec l’espace client
Ouvrez wp-config.php, à la racine du site, et relevez DB_NAME, DB_USER, DB_PASSWORD et DB_HOST. Comparez-les avec la rubrique Bases de données de votre espace client : un seul caractère de différence bloque la connexion. DB_HOST ne vaut pas toujours localhost : certains hébergeurs, comme OVHcloud, attribuent à chaque base un nom de serveur particulier.
define( 'DB_NAME', 'nom_de_la_base' );
define( 'DB_USER', 'utilisateur_de_la_base' );
define( 'DB_PASSWORD', 'mot_de_passe' );
define( 'DB_HOST', 'localhost' );
Redéfinir le mot de passe de la base
Si vous doutez du mot de passe, définissez-en un nouveau pour l’utilisateur de la base depuis l’espace client (cPanel, Plesk ou interface de l’hébergeur), puis reportez-le à l’identique dans DB_PASSWORD. Gardez une copie de wp-config.php avant d’enregistrer.
Tester les identifiants dans phpMyAdmin
Quand l’hébergeur le permet, connectez-vous à phpMyAdmin avec ces mêmes identifiants. Si la connexion échoue aussi, le problème vient des identifiants ou du serveur ; si elle réussit et que les tables s’affichent, regardez du côté de la configuration de WordPress ou de la base elle-même.
Lire la raison exacte dans le journal
Le journal d’erreurs PHP de l’hébergement, ou le journal de débogage de WordPress, donne la cause précise : « Access denied » (identifiants refusés), « No such file or directory » ou « Connection refused » (aucun serveur à l’adresse indiquée dans DB_HOST), « Too many connections » (serveur saturé). Les messages « Access denied » et « Too many connections » ont chacun leur fiche dans ce décodeur.
Copiez wp-config.php avant de le modifier, et n’en publiez jamais le contenu sur un forum : il contient le mot de passe de votre base.
Un autre message d'erreur ? Collez-le dans le décodeur : il le reconnaît et vous oriente vers la bonne fiche.
Ouvrir le décodeur