DBAtlas · Atlas d'exploitation des bases de données

1045: Access denied for user (using password: YES/NO) (accès refusé pour l'utilisateur)

MySQL

Que signifie cette erreur ?

L'authentification a échoué pour le nom d'utilisateur, le mot de passe ou l'hôte depuis lequel vous vous connectez ; la connexion a été refusée.

Cause

Mot de passe erroné, l'utilisateur n'a pas de privilèges depuis l'hôte d'où il se connecte (user@host), le compte n'existe pas, incompatibilité de plugin d'authentification (caching_sha2_password ou mysql_native_password) ou identifiants obsolètes dans la chaîne de connexion.

Comment la corriger

Vérifiez la correspondance utilisateur/hôte : SELECT user, host, plugin FROM mysql.user. Accordez les privilèges pour le bon hôte (par ex. 'app_user'@'%'). Réinitialisez le mot de passe : ALTER USER 'app_user'@'host' IDENTIFIED BY 'new_password'; (ALTER USER/GRANT prennent effet immédiatement ; FLUSH PRIVILEGES n'est nécessaire que si les tables de privilèges ont été modifiées directement par DML). Si vous voyez 'using password: NO', le client n'envoie pas du tout de mot de passe. En cas d'incompatibilité de plugin, revoyez le plugin d'authentification : dans MySQL 8.4, le plugin mysql_native_password est désactivé par défaut (chargé uniquement avec --mysql-native-password=ON) ; les anciens comptes utilisant ce plugin et les anciens clients ne peuvent pas se connecter. Migrez le compte avec ALTER USER ... IDENTIFIED WITH caching_sha2_password BY '...'; et mettez à niveau le pilote client.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur