Access denied for user 'admin'@'localhost' (using password: YES)
Symptome
Das Plesk Backup eines Abonnements kann nicht ausgeführt werden, da die Verbindung zum MySQL-Server fehlgeschlagen ist. In dem Backup-Protokoll entsteht folgender Eintrag:
mysqldump: Got error: 1045: "Access denied for user 'admin'@'localhost' (using password: YES)" when trying to connect
Ursache
Das Problem entsteht, da die MySQL-Authentifizierung zwischen localhost
, 127.0.0.1
und ::1
unterscheidet und gleichzeitig die MySQL-Option skip-name-resolve
aktiv ist.
Lösung
Das Problem kann behoben werden, indem ein zusätzlicher MySQL-Benutzer für den Plesk admin
Benutzer erzeugt wird.
Verbinden Sie sich mit dem Server via SSH
Öffnen Sie die MySQL-Shell mithilfe des Befehls:
MYSQL_PWD=$(cat /etc/psa/.psa.shadow) mysql -uadmin
Prüfen Sie zunächst die existierenden admin Benutzer:
SELECT user,host FROM mysql.user WHERE user = 'admin';
Beispiel-Ausgabe:
MariaDB [(none)]> SELECT user,host FROM mysql.user WHERE user = 'admin';
+-------+-----------+
| User | Host |
+-------+-----------+
| admin | localhost |
+-------+-----------+
1 row in set (0,001 sec)
Erzeugen Sie einen neuen admin
Benutzer, sofern der fehlerhafte Host aus dem vorherigen Befehl nicht in der Ausgabe enthalten ist:
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'127.0.0.1' IDENTIFIED BY '<passwort kundencenter>' WITH GRANT OPTION;
Ersetzen Sie <passwort kundencenter>
durch das Plesk Admin-Passwort aus dem Passwort-Tresor des Servers im Kundencenters.
plesk bin admin --set-admin-password -passwd '<passwort kundencenter>'
Verwenden Sie als Passwort das im Kundencenter abgebildete Passwort oder generieren Sie ein neues Passwort für den admin Benutzer mithilfe von secret.creoline.com.
Sofern Sie ein neues Passwort verwenden, sollte dies im Kundencenter im Anschluss entsprechend ebenfalls geändert werden, um die Single-Sign-On-Funktion wiederherzustellen.
Mehr Informationen zum Plesk Single-Sign-On
Verbindungstest
Zum Testen der Verbindung über die IP-Adresse kann folgender Befehl verwendet werden:
MYSQL_PWD=$(cat /etc/psa/.psa.shadow) mysqlcheck -c -u admin -h 127.0.0.1 --all-databases
Im Anschluss kann das Backup in Plesk erneut angestoßen werden.