Heim >Datenbank >MySQL-Tutorial >Wie behebt man den Fehler „mysqli_connect(): Der Server hat eine Authentifizierungsmethode angefordert, die dem Client unbekannt ist [caching_sha2_password]'?
Beim Herstellen einer Verbindung zu einer MySQL-Datenbank mit php mysqli_connect ist dies möglich um auf den Fehler „Fehler beim Herstellen einer Verbindung zur Datenbank“ mit der spezifischen Meldung „mysqli_connect(): Der Server“ zu stoßen angeforderte Authentifizierungsmethode, die dem Client unbekannt ist [caching_sha2_password]“. Dies liegt typischerweise daran, dass die auf dem MySQL-Server konfigurierte Authentifizierungsmethode von den Erwartungen des Clients abweicht.
In diesem Fall verwendet das PHP-Skript die Authentifizierungsmethode caching_sha2_password, die übereinstimmende Anmeldeinformationen erfordert, die in der MySQL-Benutzertabelle definiert sind. Es scheint jedoch, dass das Benutzer1-Konto keinen entsprechenden Passwort-Hash für caching_sha2_password hat.
Um dieses Problem zu beheben, haben Sie mehrere Möglichkeiten:
Erstellen Sie einen caching_sha2_password-Passwort-Hash für Benutzer1: Geben Sie den folgenden SQL-Befehl ein, um einen caching_sha2_password-Hash für Benutzer1 zu erstellen:
ALTER USER 'user1'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
Ersetzen Sie „new_password“ durch ein sicheres Passwort Ihrer Wahl. Dadurch wird der Passwort-Hash von Benutzer1 aktualisiert, um caching_sha2_password zu verwenden, sodass er sich mit dieser Methode authentifizieren kann.
caching_sha2_password für vorhandene Hashes erzwingen: Wenn Sie keinen neuen Passwort-Hash erstellen können Aufgrund von Kontobeschränkungen können Sie die Verwendung von caching_sha2_password für vorhandene Hashes erzwingen. Geben Sie den folgenden SQL-Befehl ein:
SET PASSWORD FOR 'user1'@'localhost' = PASSWORD('existing_password');
Ersetzen Sie „existing_password“ durch das aktuelle Passwort für Benutzer1. Dadurch wird der Hash aktualisiert, um caching_sha2_password zu verwenden, ohne das Passwort selbst zu ändern.
Sobald Sie eines dieser Verfahren durchgeführt haben, sollten Sie mithilfe der caching_sha2_password-Authentifizierung erfolgreich eine Verbindung zur Datenbank herstellen können . Denken Sie daran, die MySQL-Dokumentation für weitere Details und Optionen zur Passwortverwaltung zu lesen.
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „mysqli_connect(): Der Server hat eine Authentifizierungsmethode angefordert, die dem Client unbekannt ist [caching_sha2_password]'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!