Heim >Datenbank >MySQL-Tutorial >Wie kann ich den Fehler „Authentifizierungsmethode unbekannt für den Client' beheben, wenn ich phpMyAdmin mit MySQL 8.0 verbinde?

Wie kann ich den Fehler „Authentifizierungsmethode unbekannt für den Client' beheben, wenn ich phpMyAdmin mit MySQL 8.0 verbinde?

Barbara Streisand
Barbara StreisandOriginal
2024-11-23 22:41:10420Durchsuche

How Can I Fix the

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 :

  1. Melden Sie sich als Root bei der MySQL-Konsole an Benutzer:
root@9532f0da1a2a:/# mysql -u root -pPASSWORD
  1. Ändern Sie das Authentifizierungs-Plugin:
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn