Navigation zur Kompatibilität von phpMyAdmin mit MySQL 8.0
Im Bereich der Datenbankverwaltung bleibt phpMyAdmin ein gefragtes Tool. Wenn MySQL jedoch auf die neueste Version, 8.0, weiterentwickelt, können Benutzer auf Konnektivitätshürden mit phpMyAdmin stoßen.
Fehler aufgetreten:
Beim Versuch, auf phpMyAdmin zuzugreifen, stoßen Benutzer häufig auf Probleme der folgende Fehler:
#2054 - The server requested authentication method unknown to the client
Dieser Fehler ist auf die erweiterten Sicherheitsmaßnahmen zurückzuführen, die in MySQL eingesetzt werden 8.0, die einen stärkeren Passwort-Hashing-Mechanismus einführen.
Lösung:
Um dieses Problem zu beheben, müssen Sie die für den Root-Benutzer in der MySQL-Instanz angegebene Authentifizierungsmethode ändern :
root@9532f0da1a2a:/# mysql -u root -pPASSWORD
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Indem Sie das Authentifizierungs-Plugin auf ' setzen mysql_native_password‘ aktivieren Sie die Kompatibilität mit phpMyAdmin.
Docker-Umgebung Lösung:
Für diejenigen, die Docker-Container verwenden:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -p 3306:3306 -d mysql:latest docker exec -it mysql bash mysql -u root -pPASSWORD ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD'; exit exit docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest
Zusätzliche Überlegungen:
MySQL/MySQL-Server-Docker Bild:
Entfernen Sie für dieses Docker-Bild einfach das Kommentarzeichen in der folgenden Zeile /etc/my.cnf:
# default-authentication-plugin=mysql_native_password
Alternativ können die folgenden Workaround-Befehle verwendet werden:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:latest docker exec -it mysql sed -i -e 's/# default-authentication-plugin=mysql_native_password/default-authentication-plugin=mysql_native_password/g' /etc/my.cnf docker stop mysql; docker start mysql docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest
default_authentication_plugin:
Aktualisierte Lösung (13.09.2021):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Hinweis: Achten Sie darauf, die Anführungszeichen einzuschließen.
Das obige ist der detaillierte Inhalt vonWie kann ich den Fehler „Authentifizierungsmethode unbekannt für den Client' beheben, wenn ich phpMyAdmin mit MySQL 8.0 verbinde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!