BD MySQL : “ERROR 1045 (28000): Access denied for user”

Base de données MySQL “ERROR 1045 (28000) Access denied for user”

La solution complète qui marche en 2025, même si tu as tout essayé

Tu es en train d’installer WordPress, de restaurer un site, de lancer phpMyAdmin ou un script…
Et là, la sentence tombe :

ERROR 1045 (28000): Access denied for user ‘toto’@’localhost’ (using password: YES)
ou parfois (using password: NO)

Tu vérifies 15 fois le mot de passe → il est bon.
Tu pleures un peu. Tu googles. Tu testes 10 tutos qui ne marchent pas.
Et ton site reste en “Erreur lors de l’établissement d’une connexion à la base de données”.

Stop.
Cette erreur touche littéralement des milliers de personnes PAR JOUR en 2025 (surtout chez OVH, o2switch, Hostinger, Infomaniak, LWS…).
Et 98 % du temps, c’est réglé en moins de 4 minutes.

Viens, on va la tuer ensemble.

Les 6 vraies raisons de l’erreur 1045 en 2025

  1. Mot de passe réellement faux ou modifié par l’hébergeur
  2. L’utilisateur n’a pas les droits sur la bonne base (ou sur localhost → % )
  3. Tu te connectes depuis une mauvaise IP (ex: 127.0.0.1 au lieu de localhost)
  4. Fichier wp-config.php ou config.inc.php corrompu (guillemets manquants, espace en trop…)
  5. MySQL 8.0+ avec le nouveau système d’authentification (caching_sha2_password)
  6. L’hébergeur a changé le préfixe ou le port sans te prévenir (coucou OVH mutualisé 2025)

Les solutions qui fonctionnent À TOUS LES COUPS

1. La méthode qui règle 75 % des cas en 20 secondes (cPanel / hPanel / Plesk)

→ Va dans “Bases de données MySQL” ou “PHPMyAdmin”
→ Recopie le mot de passe EXACTEMENT (clique sur l’œil pour le voir)
→ Ou mieux : clique sur “Changer le mot de passe” → mets un mot de passe ultra simple genre Test1234! temporairement
→ Modifie le wp-config.php avec ce nouveau mot de passe → sauvegarde

2. Réinitialisation totale depuis l’interface hébergeur (quand tu n’as plus rien à perdre)

  • Hostinger → Bases de données → Trois petits points → Réinitialiser le mot de passe
  • o2switch → cPanel → Bases de données MySQL → Changer mot de passe
  • OVH → Administration base → Réinitialiser le mot de passe (attention, ça déconnecte tout !)
  • Infomaniak / PlanetHoster → Manager → Bases → Changer mot de passe

3. Tu es en local (WAMP, Laragon, Docker, XAMPP) ?

Fichier à modifier :
wp-config.php ou config.inc.php (pour phpMyAdmin)

Vérifie ces lignes EXACTEMENT comme ça :

define('DB_USER', 'root');        // souvent root en local
define('DB_PASSWORD', '');        // souvent vide en local !!
define('DB_HOST', 'localhost');   // ou 127.0.0.1 (jamais les deux)

4. Tu utilises MySQL 8 + nouveau plugin d’authentification ?

Ajoute ça dans le wp-config.php juste au-dessus de “That’s all, stop editing!” :

define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL_USE_SSL ?? 0);

Ou force l’ancienne méthode (dangereux mais ça marche) :

ALTER USER 'tonuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'tonmotdepasse';
FLUSH PRIVILEGES;

5. Tu restaures un site et l’erreur persiste ?

→ Ouvre le fichier .sql ou le wp-config.php
→ Cherche toutes les occurrences de l’ancien utilisateur/base
→ Remplace par les nouveaux (Ctrl+H dans Notepad++)

6. Rien ne marche ? On passe en mode commando (SSH – 2 minutes)

Connecte-toi en SSH (activable chez tous les hébergeurs en 2025) :

mysql -u root -p

(entre le mot de passe root si tu l’as)

Puis tape :

UPDATE mysql.user SET authentication_string = PASSWORD('NouveauMotDePasseIci') WHERE User = 'tonuser';
FLUSH PRIVILEGES;
EXIT;

Et change le mot de passe dans wp-config.php

Récap ultra-visuel 2025

SituationSolution la plus rapideTemps
cPanel / Hostinger / o2switchChanger mot de passe dans l’interface30 sec
Site en local (Laragon, XAMPP)Mot de passe root = vide10 sec
Restauration ou migrationVérifier DB_HOST = localhost1 min
MySQL 8+Forcer mysql_native_password2 min
Tu es bloqué à 100 %Réinitialisation totale via hébergeur3 min

Le tip pour ne PLUS JAMAIS revoir cette erreur

Sauvegarde ton wp-config.php dans un fichier texte nommé “wp-config-sauvegarde.txt” sur ton bureau.
Comme ça, en cas de panique, tu as les bons identifiants sous la main.

Toi, tu as résolu l’erreur 1045 comment ?

Raconte-nous ta galère en commentaire (et surtout ta solution miracle).
Ça aide des centaines de personnes qui tombent sur cet article en pleurant à 3h du mat’.

Et partage cet article à ton pote qui t’a appelé en panique hier soir… tu seras son héros éternel.

Pour YOAST SEO (copie-colle direct)

Expression clé principale : ERROR 1045 (28000) Access denied
Slug : mysql-error-1045-access-denied
Méta description : ERROR 1045 (28000) Access denied for user ? Mot de passe refusé MySQL sur cPanel, Hostinger, o2switch, local… Voici les 6 solutions qui marchent en 2025 (même si tu as tout essayé)
3 tags : erreur 1045, MySQL, access denied

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

Laisser un commentaire