Développement et bases de données

Résoudre l'erreur de connexion à la base de données dans WordPress

Vérifié le 9 min de lecture wordpress mysql errores migraciones

Le message Error establishing a database connection ou Erreur lors de la connexion à la base de données indique que WordPress ne peut pas lire sa base MySQL. C'est fréquent après la migration du site, la restauration d'une sauvegarde ou le changement de l'utilisateur de la base de données.

Ne réinstallez pas WordPress et n'importez pas la base à plusieurs reprises avant d'avoir identifié la cause. L'erreur se trouve généralement dans la configuration, les privilèges ou l'état de MySQL, et écraser des données peut compliquer la récupération.

Vérifiez si l'erreur ne concerne que WordPress

Avant de modifier wp-config.php, essayez d'accéder à phpMyAdmin depuis cPanel :

  • Si phpMyAdmin s'ouvre et affiche les bases, cet accès à MySQL fonctionne. Vous devez encore vérifier l'utilisateur, l'hôte et les privilèges qu'utilise WordPress, qui peuvent être différents.
  • Si vous ne pouvez pas non plus y accéder ou si plusieurs applications affichent des erreurs, il peut y avoir un incident général ou un problème avec le compte MySQL.
  • Si la base apparaît mais ne contient pas les tables de WordPress, une autre base a été importée ou la restauration ne s'est pas terminée correctement.

Consultez comment utiliser phpMyAdmin pour examiner les tables sans modifier leur contenu.

Vérifiez les informations de wp-config.php

Ouvrez wp-config.php dans le répertoire de WordPress et repérez :

define('DB_NAME', 'usuario_basedatos');
define('DB_USER', 'usuario_mysql');
define('DB_PASSWORD', 'contraseña_mysql');
define('DB_HOST', 'localhost');

Vérifiez chaque valeur :

Constante Ce qu'elle doit contenir
DB_NAME Nom complet de la base de données de destination
DB_USER Utilisateur MySQL associé à cette base
DB_PASSWORD Mot de passe actuel de cet utilisateur MySQL
DB_HOST Serveur indiqué par le fournisseur ; dans cPanel, c'est généralement localhost

Dans cPanel, le nom du compte est normalement ajouté comme préfixe aux bases et aux utilisateurs. Si vous avez créé wordpress et usuariodb, les vrais noms peuvent être micuenta_wordpress et micuenta_usuariodb.

Ne confondez pas le mot de passe de cPanel, de WordPress ou de la messagerie avec celui de l'utilisateur MySQL. Ce sont des identifiants indépendants.

Associez l'utilisateur à la base de données

Créer une base et créer un utilisateur sont deux actions distinctes. Il faut en plus les associer et attribuer des privilèges.

  1. Dans cPanel, ouvrez Manage My Databases / Gérer mes bases de données ou utilisez l'assistant de base de données MySQL.
  2. Vérifiez que l'utilisateur indiqué dans DB_USER existe.
  3. Ajoutez-le à la base indiquée dans DB_NAME.
  4. Attribuez les privilèges dont l'application a besoin ; une installation WordPress ordinaire utilise tous les privilèges sur sa propre base.
  5. Enregistrez et testez de nouveau le site.

Cette étape est une cause fréquente après une migration manuelle : les fichiers et les tables sont copiés, mais le nouvel utilisateur n'a pas accès à la base restaurée.

Vérifiez que vous avez importé la bonne base

Dans phpMyAdmin, ouvrez la base configurée et vérifiez qu'elle contient des tables comme :

  • wp_options
  • wp_posts
  • wp_users
  • wp_postmeta

Le préfixe peut être différent de wp_. WordPress le définit dans wp-config.php avec $table_prefix :

$table_prefix = 'wp_';

Si les tables utilisent un autre préfixe, ajustez cette variable à la valeur existante. Changer le préfixe des tables sans migration préparée peut laisser des plugins ou des requêtes personnalisées pointer vers de mauvais noms.

Vérifiez le mot de passe de l'utilisateur MySQL

Si vous ne pouvez pas confirmer le mot de passe actuel, identifiez d'abord toutes les applications qui utilisent cet utilisateur. Définissez ensuite un nouveau mot de passe depuis cPanel et mettez à jour leurs configurations, y compris DB_PASSWORD, de façon coordonnée.

Faites le changement de façon coordonnée : entre le moment où vous modifiez le mot de passe dans cPanel et celui où vous enregistrez wp-config.php, WordPress ne pourra pas se connecter. Ne publiez pas le mot de passe dans un ticket et ne le réutilisez pas pour d'autres services.

Différence entre connexion et tables endommagées

Une base avec des tables endommagées peut produire des messages différents ou des erreurs partielles dans WordPress. Si WordPress parvient à se connecter mais signale qu'une table doit être réparée, faites d'abord une sauvegarde de la base.

Uniquement pour lancer l'outil de réparation intégré, vous pouvez ajouter temporairement :

define('WP_ALLOW_REPAIR', true);

Restreignez temporairement l'accès à cette URL, ouvrez /wp-admin/maint/repair.php et lancez uniquement la réparation qui correspond au moteur et au diagnostic. Cet outil ne répare pas n'importe quel problème InnoDB. Supprimez la ligne de wp-config.php une fois terminé, car cette page n'exige pas de connexion tant que l'option est active.

N'utilisez pas la réparation quand le vrai problème est un nom, un utilisateur, un mot de passe ou un hôte incorrect : elle ne pourra pas se connecter et ne résoudra rien.

Si l'erreur est apparue après la migration de WordPress

Vérifiez aussi :

  • Que le fichier wp-config.php copié ne conserve pas les informations MySQL de l'ancien fournisseur.
  • Que l'export SQL s'est terminé sans erreur et que l'importation n'est pas restée incomplète.
  • Que la version de MySQL ou de MariaDB est compatible avec l'installation.
  • Qu'il n'y a pas deux copies de wp-config.php et que vous ne modifiez pas un répertoire différent de celui qui sert le domaine.
  • Que le domaine pointe vers le serveur que vous vérifiez.

Suivez le guide pour migrer WordPress vers un autre hébergement pour vérifier séparément les fichiers, la base de données, les URL et le DNS.

Quelles informations envoyer à l'assistance

Si l'erreur persiste, indiquez :

  • Le domaine et le moment approximatif où elle a commencé.
  • Si elle est apparue après une migration, une restauration ou un changement de mot de passe.
  • Si phpMyAdmin affiche la base et ses tables.
  • Le nom de la base et l'utilisateur MySQL, sans les mots de passe.
  • Une capture du message et toute erreur associée du journal PHP.

Ne collez pas le contenu complet de wp-config.php : il contient le mot de passe de la base et les clés de sécurité de WordPress.

Si le journal indique des limites de connexions ou une panne du service, ne changez pas le mot de passe pour essayer. Notez l'erreur et l'heure et vérifiez l'état avec l'assistance. Après avoir corrigé la cause, vérifiez la lecture et l'écriture, et pas seulement que le message disparaît de la page d'accueil.

Cela peut aussi vous aider

Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.