Heim > Datenbank > MySQL-Tutorial > Hauptteil

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

Barbara Streisand
Freigeben: 2024-11-23 22:41:10
Original
321 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren
  1. Ändern Sie das Authentifizierungs-Plugin:
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

default_authentication_plugin:

Aktualisierte Lösung (13.09.2021):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage