Der MySQL-Datenbankzugriff wird dem Benutzer verweigert

Created:

2016-11-16 13:13:03 UTC

Modified:

2017-08-16 18:35:04 UTC

0

Was this article helpful?


Have more questions?

Anfrage einreichen

Der MySQL-Datenbankzugriff wird dem Benutzer verweigert

Applicable to:

  • Plesk 12.0 for Linux
  • Plesk 11.5 for Windows
  • Odin Service Automation

Kennzeichen


Ein MySQL-Benutzer kann keine Verbindung zur Datenbank herstellen. Die Verbindungsversuche schlagen mit der Fehlermeldung Access denied fehl:
# mysql -h ServerName -u UserName -pPassword DatabaseName
Access denied for user 'UserName@UserIPAddress'


Ursache


Der MySQL-Benutzer hat nicht die Berechtigung, auf die Datenbank zuzugreifen oder sein Passwort ist falsch.

Lösung


Nachfolgend finden Sie eine Anleitung zur Problembehandlung für den Fehler ' Access denied '.

1. Stellen Sie sicher, dass das MySQL-Benutzerpasswort korrekt ist. Am schnellsten und einfachsten ist, ein neues Passwort für den Datenbanknutzer festzulegen:
Kunden-Control-Panel > wählen Sie das Abonnement aus > wechseln Sie zur Seite der Datenbankverwaltung > "Datenbanken" > wählen Sie die Datenbank aus > wechseln Sie zur untergeordneten Registerkarte "Benutzer" > wählen Sie den Benutzer aus und legen Sie ein neues Passwort fest
Überprüfen Sie anschließend, ob der Benutzer eine Verbindung zur Datenbank herstellen kann.

2. Melden Sie sich am MySQL-Server unter dem Benutzer mit Administrationsrechten an und überprüfen Sie mit folgendem Befehl die Berechtigungen für den betreffenden Benutzer:
mysql> show grants for '<UserName>';
+------------------------------------------------------------------------------------------------------+
| Grants for UserName@%                                                                           |
+------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'UserName'@'%' IDENTIFIED BY PASSWORD 'UserPasswordHash' |
+------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

3. Überprüfen Sie, ob der Benutzer die Berechtigungen zum Zugriff auf die Datenbank hat:
mysql> use mysql;
mysql> select Host, Db, User from db where User='<UserName>';
+------+----------------+---------------+
| Host | Db             | User          |
+------+----------------+---------------+
|      | DatabaseName | UserName |
+------+----------------+---------------+
1 row in set (0.00 sec)


Hinweis: Ersetzen Sie <UserName> in den oben stehenden Abfragen mit dem Benutzernamen des betreffenden Benutzers.
Haben Sie Fragen? Anfrage einreichen
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.