Fehler „Die vom Server angeforderte Authentifizierungsmethode ist dem Client unbekannt“ verstehen
Beim Versuch, über PHP eine Verbindung zu einer MySQL-Datenbank herzustellen, Benutzer stoßen möglicherweise auf den rätselhaften Fehler: „Der Server hat die Authentifizierungsmethode angefordert, die dem Client unbekannt ist.“ Dieser Fehlercode entspricht SQLSTATE[HY000] und stammt aus MySQL-Versionen 8.0 und höher.
Grund für den Fehler
Die Hauptursache für dieses Problem liegt typischerweise bei a Diskrepanz zwischen dem von der MySQL-Datenbank verwendeten Authentifizierungsmechanismus und den Erwartungen der Clientanwendung (in diesem Fall PHP). Standardmäßig verwendet MySQL 8.0 das Authentifizierungs-Plugin „auth_socket“, während viele Anwendungen die Authentifizierung über eine passwortgeschützte Anmeldung erwarten.
Lösung
Um dieses Problem zu beheben, Benutzer müssen das von ihrer MySQL-Datenbank verwendete Authentifizierungs-Plugin ändern, um es an die Anforderungen ihrer Clientanwendung anzupassen. Hier sind die Schritte:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Be Ersetzen Sie „Passwort“ unbedingt durch Ihr gewünschtes Root-Passwort. Wenn Ihre Clientanwendung eine Verbindung über einen anderen Benutzer herstellt, ersetzen Sie „root“ im Befehl durch den entsprechenden Benutzernamen.
Zusätzliche Erkenntnisse
Weitere Erläuterungen zu diesem Problem finden Sie hier 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 gibt MySQL 8.0 „Die vom Server angeforderte Authentifizierungsmethode ist dem Client unbekannt' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!