PHP mit MySQL 8.0-Verbindungsfehler: Authentifizierungsmethode dem Client unbekannt
Problembeschreibung
Beim Herstellen einer Verbindung zwischen PHP und einer MySQL 8.0-Datenbank tritt ein Fehler auf: „Der Server hat eine Authentifizierungsmethode angefordert, die dem Client unbekannt ist.“ Dieser Fehler kann auf Probleme mit dem der Datenbank zugewiesenen Authentifizierungs-Plugin hinweisen.
Antwort
Das Standard-Authentifizierungs-Plugin in MySQL 8 ist „auth_socket“, das den verbindenden Client erfordert um die Socket-basierte Authentifizierung zu verwenden. Allerdings bevorzugen PHP-Anwendungen typischerweise eine passwortbasierte Authentifizierung. Um dieses Problem zu beheben:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Stellen Sie sicher, dass Sie „Passwort“ durch das gewünschte Root-Passwort ersetzen. Wenn sich Ihre Anwendung mit einem anderen Benutzer anmeldet, ersetzen Sie „root“ durch den entsprechenden Benutzernamen im Befehl.
Dieser Befehl ändert das Authentifizierungs-Plugin für den „Root“-Benutzer (oder den angegebenen Benutzer) in „mysql_native_password, ', das die passwortbasierte Authentifizierung unterstützt.
Weitere Informationen finden Sie in der Dokumentation von Digital Ocean zur [Installation von MySQL](https://www.digitalocean.com/community/tutorials/how-to-install -mysql-on-ubuntu-20-04).
Das obige ist der detaillierte Inhalt vonWarum erhält meine PHP-Anwendung beim Herstellen einer Verbindung zu MySQL 8.0 die Fehlermeldung „Authentifizierungsmethode dem Client unbekannt'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!