DBAtlas · Atlas für Datenbankbetrieb

1045: Access denied for user (using password: YES/NO) (Zugriff für Benutzer verweigert)

MySQL

Was bedeutet das?

Die Authentifizierung für Benutzername, Passwort oder den Host, von dem aus du dich verbindest, ist fehlgeschlagen; die Anmeldung wurde abgelehnt.

Ursache

Falsches Passwort, der Benutzer hat keine Berechtigungen von dem Host, von dem er sich verbindet (user@host), das Konto existiert nicht, nicht passendes Authentifizierungs-Plugin (caching_sha2_password vs. mysql_native_password) oder veraltete Zugangsdaten im Connection String.

Lösung

Prüfe, ob Benutzer und Host zusammenpassen: SELECT user, host, plugin FROM mysql.user. Vergib Berechtigungen für den richtigen Host (z. B. 'app_user'@'%'). Setze das Passwort zurück: ALTER USER 'app_user'@'host' IDENTIFIED BY 'new_password'; (ALTER USER/GRANT wirken sofort; FLUSH PRIVILEGES ist nur nötig, wenn die Grant-Tabellen direkt per DML geändert wurden). Siehst du 'using password: NO', sendet der Client überhaupt kein Passwort. Bei Plugin-Abweichungen prüfe das Authentifizierungs-Plugin: In MySQL 8.4 ist das Plugin mysql_native_password standardmäßig deaktiviert (wird nur mit --mysql-native-password=ON geladen); alte Konten mit diesem Plugin und alte Clients können sich nicht verbinden. Migriere das Konto mit ALTER USER ... IDENTIFIED WITH caching_sha2_password BY '...'; und aktualisiere den Client-Treiber.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank