Heim >Backend-Entwicklung >PHP-Tutorial >Warum erhalte ich die Fehlermeldung „Authentifizierungsmethode stimmt nicht überein', wenn ich PHP mit MySQL 8.0 verbinde?
Beim Herstellen einer Verbindung zu einer MySQL-Datenbank von PHP aus kann es sein, dass Benutzer auf den Fehler „SQLSTATE[HY000] [2054] The Vom Server angeforderte Authentifizierungsmethode, die dem Client unbekannt ist.“ Dieses Problem entsteht aufgrund einer Diskrepanz zwischen der von MySQL verwendeten Authentifizierungsmethode und der von der Clientanwendung erwarteten Methode.
Ursache:
MySQL 8.0 führte ein Standardauthentifizierungs-Plugin ein namens caching_sha2_password, das von älteren PHP-Versionen oder einigen Client-Anwendungen nicht nativ unterstützt wird. Standardmäßig erwarten Anwendungen eine Authentifizierung mit einer passwortbasierten Methode, während MySQL 8.0 die Verwendung des Plugins caching_sha2_password erfordert.
Lösung:
Um den Fehler zu beheben, Sie müssen die von MySQL verwendete Authentifizierungsmethode ändern, damit sie mit der von Ihrer Anwendung erwarteten Methode übereinstimmt. Befolgen Sie diese Schritte:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Ersetzen Sie „Passwort“ durch das Root-Passwort.
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Authentifizierungsmethode stimmt nicht überein', wenn ich PHP mit MySQL 8.0 verbinde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!