Divulgation : en tant que partenaire Amazon, AliExpress, KDP, Alison, Hostinger, Printful... DiGiProUnic peut percevoir une commission sur les achats effectués via nos liens. Cela n’affecte jamais le prix que vous payez, ni nos recommandations.
Pourquoi l’erreur MySQL 1045 apparaît-elle ?
- le nom de l’utilisateur ;
- le mot de passe ;
- l’hôte depuis lequel la connexion arrive ;
- les droits associés au compte ;
- le mode d’authentification utilisé.
Les principales causes de l’erreur 1045
1. Le mot de passe MySQL est incorrect
2. L’utilisateur n’a pas les bons privilèges
3. Le mauvais hôte est utilisé
localhost;127.0.0.1;- un nom d’hôte fourni par l’hébergeur ;
- un serveur MySQL distant.
4. Le fichier wp-config.php contient une erreur
DB_NAME;DB_USER;DB_PASSWORD;DB_HOST.
5. La configuration MySQL ou PHP a changé
6. La base ou l’utilisateur n’est plus disponible
Solution 1 : vérifier les identifiants WordPress
Solution 2 : réinitialiser le mot de passe MySQL
Solution 3 : vérifier les droits de l’utilisateur
Solution 4 : vérifier DB_HOST
Solution 5 : vérifier une installation locale
XAMPP
Laragon
Docker
Solution 6 : vérifier les utilisateurs MySQL depuis le terminal
Solution 7 : vérifier les privilèges MySQL
Solution 8 : vérifier le système d’authentification MySQL
Solution 9 : vérifier une restauration ou une migration WordPress
- le nom de la base ;
- le nom de l’utilisateur ;
- le mot de passe ;
DB_HOST;- les privilèges de l’utilisateur ;
- le port MySQL si ton hébergeur en utilise un spécifique.
Comment diagnostiquer rapidement l’erreur 1045 ?
Étape 1 : contrôler wp-config.php
Étape 3 : contrôler les privilèges
Étape 4 : vérifier l’hôte
Étape 5 : vérifier MySQL et PHP
Tableau récapitulatif
| Situation | Première vérification | Solution |
|---|---|---|
| Mot de passe refusé | DB_PASSWORD | Réinitialiser le mot de passe |
| Utilisateur inconnu | DB_USER | Vérifier le compte MySQL |
| Mauvais serveur | DB_HOST | Utiliser l’hôte fourni |
| Base inaccessible | Privilèges MySQL | Associer l’utilisateur à la base |
| Migration récente | Configuration complète | Comparer ancien et nouvel hébergement |
| Installation locale | Paramètres MySQL | Vérifier XAMPP, WAMP, Laragon ou Docker |
| Problème après mise à jour | Versions PHP/MySQL | Contrôler la compatibilité |
| Accès SSH disponible | Compte MySQL | Tester avec le client mysql |
Comment éviter l’erreur 1045 à l’avenir ?
FAQ sur l’erreur MySQL 1045
Pourquoi MySQL affiche-t-il « Access denied » ?
L’erreur 1045 vient-elle forcément du mot de passe ?
Pourquoi WordPress affiche-t-il une erreur de connexion à la base ?
localhost et 127.0.0.1 sont-ils identiques ?
Que faire après une migration WordPress ?
Conclusion
L’hébergeur qui ne te fera PLUS jamais galérer avec les bases de données → Hostinger (-79 % + 3 mois gratuits) – gestion MySQL ultra-simple, renouvellement automatique, et support 24/7 en français. J’ai migré tous mes sites dessus, zéro regret.
Tu installes WordPress, tu restaures un site ou tu ouvres phpMyAdmin. Pourtant, un message bloque soudainement la connexion :
ERROR 1045 (28000): Access denied for user ‘toto’@’localhost’ (using password: YES)
Tu peux également rencontrer la variante :
ERROR 1045 (28000): Access denied for user ‘toto’@’localhost’ (using password: NO)
Dans les deux cas, MySQL refuse l’authentification de l’utilisateur.
À première vue, le mot de passe semble pourtant correct. Cependant, plusieurs paramètres peuvent provoquer cette erreur. Il peut s’agir des identifiants, des droits de l’utilisateur, de l’hôte autorisé ou encore de la configuration de WordPress.
Heureusement, la vérification reste généralement rapide.
Dans ce guide, tu vas découvrir les principales causes de l’erreur MySQL 1045 et les solutions adaptées à chaque situation.
MySQL affiche l’erreur 1045 lorsqu’il refuse une tentative de connexion.
Le serveur vérifie notamment :
Ainsi, un simple caractère incorrect dans le fichier wp-config.php peut suffire à bloquer WordPress.
De la même façon, un utilisateur peut posséder le bon mot de passe sans disposer des autorisations nécessaires sur la base de données.
Avant de modifier la configuration, il faut donc identifier précisément la cause.
Plusieurs situations reviennent régulièrement.
C’est la première vérification à effectuer.
Le mot de passe peut avoir changé après une migration, une restauration ou une modification depuis le panneau de l’hébergeur.
Par ailleurs, un espace supplémentaire ou une erreur de copie peut également provoquer l’échec de l’authentification.
Un compte MySQL doit disposer des droits nécessaires sur la base concernée.
Par exemple, WordPress peut utiliser l’utilisateur wordpress_user alors que les privilèges ont été accordés à un autre compte.
Dans ce cas, MySQL refuse la connexion même si le mot de passe est correct.
Le paramètre DB_HOST joue également un rôle important.
Selon l’environnement, la connexion peut utiliser :
Ces valeurs ne sont pas toujours interchangeables.
Il faut donc utiliser la valeur indiquée par ton hébergeur ou par ta configuration locale.
Une simple faute de frappe peut empêcher WordPress de se connecter.
Vérifie notamment :
Attention également aux guillemets et aux caractères spéciaux dans le mot de passe.
Après une migration vers un autre serveur, une mise à jour de MySQL ou un changement d’hébergement, le système d’authentification peut également changer.
Dans ce contexte, il vaut mieux vérifier la version de MySQL et le plugin d’authentification du compte avant de modifier celui-ci.
Une restauration incomplète peut supprimer ou modifier certains comptes.
De même, un hébergeur peut appliquer un préfixe spécifique aux bases et aux utilisateurs.
Dans ce cas, les informations présentes dans wp-config.php ne correspondent plus à celles du serveur.
Commence par ouvrir le fichier wp-config.php.
Tu trouveras généralement une configuration similaire :
define('DB_NAME', 'nom_de_la_base');
define('DB_USER', 'nom_utilisateur');
define('DB_PASSWORD', 'mot_de_passe');
define('DB_HOST', 'localhost');
Compare maintenant chaque valeur avec les informations affichées dans le panneau de ton hébergeur.
En particulier, vérifie le nom exact de la base et celui de l’utilisateur.
Ensuite, contrôle le mot de passe. Évite de le retaper manuellement si tu risques de modifier accidentellement un caractère.
Si tu as un doute, réinitialise plutôt le mot de passe depuis l’interface de gestion de la base de données.
Cette méthode convient particulièrement aux hébergements mutualisés.
Connecte-toi au panneau de gestion de ton hébergeur.
Cherche ensuite une rubrique comme :
Bases de données → MySQL → Utilisateurs
Selon l’hébergeur, le nom du menu peut varier.
Sélectionne ensuite l’utilisateur concerné et choisis l’option permettant de modifier son mot de passe.
Définis un nouveau mot de passe robuste, puis enregistre la modification.
Ensuite, reporte exactement ce nouveau mot de passe dans wp-config.php.
Par exemple :
define('DB_PASSWORD', 'TonNouveauMotDePasse');
Enfin, recharge ton site WordPress.
Si la connexion fonctionne de nouveau, l’erreur 1045 venait bien des identifiants.
Un utilisateur MySQL doit être associé à la bonne base de données.
Depuis ton panneau d’hébergement, vérifie donc que :
Utilisateur MySQL → Base WordPress → Privilèges
correspondent bien à ta configuration.
Si l’utilisateur n’est pas associé à la base, ajoute-le.
Lorsque l’interface propose plusieurs niveaux de privilèges, suis les recommandations de ton hébergeur ou de ton installation WordPress.
Après cette modification, teste à nouveau ton site.
Le paramètre DB_HOST mérite une attention particulière.
Sur une installation locale classique, tu peux rencontrer :
define('DB_HOST', 'localhost');
Cependant, certains environnements utilisent :
define('DB_HOST', '127.0.0.1');
Un hébergement distant peut également fournir une adresse différente.
Par conséquent, ne remplace pas automatiquement localhost par 127.0.0.1.
Consulte plutôt les informations fournies par ton hébergeur.
Si tu utilises Docker, par exemple, DB_HOST correspond souvent au nom du service MySQL défini dans ton environnement.
Si tu utilises XAMPP, WAMP, Laragon ou Docker, la configuration peut être différente d’un hébergement mutualisé.
Dans XAMPP, vérifie les paramètres de MySQL et les identifiants utilisés par ton installation WordPress.
Selon ta configuration locale, l’utilisateur root peut ne pas avoir de mot de passe.
Dans ce cas, la configuration peut ressembler à :
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
Attention toutefois : cette configuration ne convient pas automatiquement à toutes les installations.
Avec Laragon, vérifie les identifiants affichés par ton environnement local.
Teste ensuite la connexion depuis phpMyAdmin ou depuis ton outil de gestion MySQL.
Avec Docker, vérifie surtout les variables d’environnement du conteneur MySQL.
Par exemple :
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: mot_de_passe
Les valeurs doivent correspondre à celles utilisées par WordPress.
Si tu possèdes un accès administrateur à ton serveur, tu peux également tester directement la connexion.
Ouvre une session SSH, puis utilise :
mysql -u root -p
Entre ensuite le mot de passe demandé.
Si la connexion fonctionne, tu peux vérifier les comptes disponibles avec :
SELECT User, Host FROM mysql.user;
Cette commande permet notamment de voir l’utilisateur et l’hôte associés au compte.
Par exemple :
wordpress_user | localhost
Dans ce cas, vérifie que WordPress utilise bien le même utilisateur et le bon hôte.
Une fois connecté avec un compte administrateur, tu peux examiner les privilèges d’un utilisateur.
Utilise :
SHOW GRANTS FOR 'wordpress_user'@'localhost';
Remplace naturellement wordpress_user par le compte réellement utilisé.
Cette vérification permet de savoir si l’utilisateur dispose bien des autorisations nécessaires.
Si les droits sont incorrects, évite de modifier les privilèges au hasard.
Une mauvaise configuration peut donner trop de permissions à un compte et créer un problème de sécurité.
Les versions récentes de MySQL utilisent différents plugins d’authentification.
Pour connaître celui associé à un utilisateur, tu peux utiliser :
SELECT User, Host, plugin
FROM mysql.user
WHERE User = 'wordpress_user';
Cette commande permet d’identifier le mécanisme utilisé par le compte.
Si tu rencontres un problème après une migration ou une mise à niveau de MySQL, compare cette configuration avec celle attendue par ton environnement PHP.
Dans ce cas, évite de changer immédiatement le plugin d’authentification.
Commence par vérifier la compatibilité de ta version de PHP, de ton pilote MySQL et de WordPress.
L’erreur 1045 apparaît fréquemment après une migration.
Le problème vient alors souvent d’une différence entre l’ancien et le nouvel hébergement.
Vérifie notamment :
Dans wp-config.php, compare donc les informations avec celles du nouvel hébergement.
Ne modifie pas directement toutes les occurrences présentes dans le fichier SQL.
Les informations de connexion WordPress se trouvent principalement dans wp-config.php.
Pour gagner du temps, suis cet ordre.
Vérifie les quatre paramètres :
DB_NAME
DB_USER
DB_PASSWORD
DB_HOST
Étape 2 : tester les identifiants
Connecte-toi à la base avec les mêmes informations depuis ton outil d’administration.
Assure-toi que l’utilisateur possède les droits nécessaires sur la bonne base.
Compare localhost, 127.0.0.1 ou le nom d’hôte avec la configuration réelle.
Si le problème apparaît après une migration ou une mise à jour, contrôle les versions utilisées.
Cette méthode permet d’éviter de modifier inutilement la configuration du serveur.
Quelques bonnes pratiques permettent de limiter les problèmes.
Tout d’abord, conserve une copie sécurisée de la configuration de ton site avant chaque migration.
Ensuite, note les informations de connexion dans un gestionnaire de mots de passe plutôt que dans un fichier texte non protégé.
Avant une mise à jour importante de MySQL ou de PHP, vérifie également la compatibilité de WordPress et de tes extensions.
Enfin, réalise toujours une sauvegarde complète avant de modifier les utilisateurs ou les privilèges MySQL.
Évite surtout de stocker publiquement ton véritable fichier wp-config.php.
Ce fichier contient des informations sensibles qui permettent d’accéder à ta base de données.
MySQL affiche ce message lorsqu’il refuse l’authentification du compte.
Le problème peut venir du mot de passe, de l’utilisateur, de l’hôte ou des privilèges.
Non.
Un mot de passe correct ne suffit pas si l’utilisateur n’a pas les bons droits ou si WordPress utilise un mauvais DB_HOST.
WordPress ne peut pas établir la connexion lorsque les informations MySQL sont incorrectes ou lorsque le serveur refuse l’utilisateur.
Commence donc par vérifier DB_NAME, DB_USER, DB_PASSWORD et DB_HOST.
Pas toujours.
Selon la configuration du serveur et du pilote MySQL, ces deux valeurs peuvent utiliser des mécanismes de connexion différents.
Utilise donc la valeur recommandée par ton environnement.
Commence par vérifier les identifiants MySQL du nouvel hébergement.
Ensuite, contrôle les privilèges et la valeur de DB_HOST.
Dans la majorité des migrations, ces paramètres constituent les premières choses à vérifier.
L’erreur MySQL 1045 « Access denied » peut sembler inquiétante, mais elle correspond généralement à un problème d’authentification ou de configuration.
Commence par vérifier les identifiants présents dans wp-config.php.
Ensuite, contrôle l’utilisateur, ses privilèges et la valeur de DB_HOST.
Si le problème est apparu après une migration, compare également les paramètres de l’ancien et du nouvel hébergement.
Enfin, si aucune de ces vérifications ne fonctionne, analyse la configuration MySQL directement depuis le serveur.
Avec cette méthode, tu peux identifier progressivement la cause sans modifier inutilement ton installation WordPress.
Tu as déjà rencontré l’erreur 1045 ?
Indique en commentaire ton environnement — WordPress, XAMPP, Laragon, Docker ou hébergement web — ainsi que le message exact affiché par MySQL. Cela permettra d’orienter plus facilement le diagnostic.
Tu peux aussi lire ceci pour mieux comprendre : Hébergement Web Pas Cher : Le Guide Complet pour Lancer Votre Site en 2025
Pour aller encore plus loin sur ce sujet, découvre notre guide complet ici : Access denied
