Corriger l’erreur de connexion à la base de données WordPress
WordPress enregistre vos articles, pages, réglages et utilisateurs dans une base de données. Quand il affiche « Error establishing a database connection » (« Erreur lors de la connexion à la base de données » sur un site en français), il n’a pas pu joindre cette base du tout et ne peut donc construire aucune page. Ce guide présente les causes courantes et comment vérifier chacune d’elles. Il s’adresse aux propriétaires de sites qui peuvent accéder aux fichiers de leur site par SFTP ou avec un gestionnaire de fichiers.
Pourquoi cela arrive
| Cause | Signe typique |
|---|---|
Informations de base de données incorrectes dans wp-config.php | L’erreur apparaît juste après un déménagement, un changement de mot de passe ou une modification de wp-config.php |
| Le serveur de base de données ne répond pas | L’erreur va et vient, ou d’autres sites du même compte sont aussi touchés |
| Tables de la base de données endommagées | La partie publique du site ne fonctionne pas mais /wp-admin affiche un autre message, ou l’erreur suit un plantage |
| Une migration incomplète | L’erreur apparaît chez le nouvel hébergeur, alors que l’ancienne copie fonctionne toujours |
Vérifier les informations de la base de données
WordPress lit les informations de sa base de données dans wp-config.php, dans le dossier principal du site. Ouvrez le fichier et repérez ces quatre lignes :
define( 'DB_NAME', 'example_wp' );
define( 'DB_USER', 'example_user' );
define( 'DB_PASSWORD', 'your-database-password' );
define( 'DB_HOST', 'localhost' );
| Réglage | Ce que c’est |
|---|---|
DB_NAME | Le nom de la base de données |
DB_USER | L’utilisateur de base de données avec lequel WordPress se connecte |
DB_PASSWORD | Le mot de passe de cet utilisateur |
DB_HOST | L’adresse du serveur de base de données. Souvent localhost, mais certains hébergeurs utilisent un nom d’hôte distinct. |
- Dans le panneau de contrôle ou le compte de votre hébergement, ouvrez la section des bases de données. L’emplacement exact dépend de votre hébergeur.
- Vérifiez qu’une base de données portant exactement la valeur de
DB_NAMEexiste. Certains hébergeurs ajoutent un préfixe, comme le nom de votre compte, à chaque nom de base et d’utilisateur. - Vérifiez que l’utilisateur indiqué dans
DB_USERexiste et dispose de tous les droits sur cette base. - Si vous n’êtes pas sûr du mot de passe, définissez-y un nouveau mot de passe pour l’utilisateur de la base, puis indiquez le même mot de passe dans
DB_PASSWORD. - Confirmez auprès de votre hébergeur la bonne valeur de
DB_HOST. - Enregistrez
wp-config.phpet rechargez le site.
Attention aux petites erreurs : une espace en trop entre les guillemets, un guillemet manquant, ou un guillemet droit remplacé par un guillemet typographique par un traitement de texte. Modifiez le fichier dans un éditeur de texte brut. Consultez Les bases de données expliquées.
Vérifier que le serveur de base de données fonctionne
Si les informations sont correctes et que l’erreur va et vient, le serveur de base de données est peut-être arrêté ou surchargé.
- Vérifiez si d’autres sites du même compte d’hébergement affichent la même erreur.
- Consultez la page d’état ou les avis de votre hébergeur.
- Vérifiez si votre compte a atteint une limite de ressources. Consultez Limites de ressources.
Sur un VPS (serveur privé virtuel) que vous gérez vous-même, vérifiez que le service de base de données (MySQL ou MariaDB) fonctionne et dispose d’assez de mémoire et d’espace disque.
Réparer les tables endommagées
Si des tables de la base de données sont endommagées, WordPress dispose d’un outil de réparation intégré. Il est désactivé par défaut, car il fonctionne sans connexion.
-
Ajoutez cette ligne dans
wp-config.php, au-dessus de la ligne/* That's all, stop editing! */:define( 'WP_ALLOW_REPAIR', true ); -
Ouvrez
https://example.com/wp-admin/maint/repair.php, avec votre propre domaine. -
Choisissez Réparer la base de données. L’autre option optimise aussi les tables et prend plus de temps.
-
Une fois l’opération terminée, retirez la ligne de
wp-config.php.
Tant que WP_ALLOW_REPAIR est défini, toute personne qui connaît l’adresse peut lancer la page de réparation. Supprimez la ligne dès que la réparation est terminée.
Après une migration
Si l’erreur apparaît juste après le déménagement du site chez un nouvel hébergeur :
- La base de données n’a peut-être pas encore été importée, ou l’import s’est arrêté en cours de route. Vérifiez que les tables existent, par exemple dans phpMyAdmin si votre hébergeur le propose.
wp-config.phpcontient probablement encore les informations de l’ancien hébergeur. Mettez à jour les quatre réglages pour le nouvel hébergeur.- Si vous testez avec le fichier hosts de votre ordinateur, vérifiez qu’il pointe vers le nouveau serveur. Consultez Préparer une migration de site.
Toujours bloqué ?
Restaurez les fichiers et la base de données à partir de votre dernière sauvegarde fonctionnelle, puis contactez l’assistance en indiquant l’heure à laquelle l’erreur a commencé et ce qui a changé peu avant.
Contactez l’assistance DomainPilot avec le formulaire d’assistance. L’hébergement web et l’hébergement WordPress DomainPilot incluent une migration de site gratuite : l’équipe déménage votre site pour vous. Demandez-la avec le formulaire de demande de migration.
Guides associés
- Les bases de données expliquées
- Préparer une migration de site
- Corriger l’erreur critique de WordPress