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]'?

Wie behebt man den Fehler „mysqli_connect(): Der Server hat eine Authentifizierungsmethode angefordert, die dem Client unbekannt ist [caching_sha2_password]'?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-13 00:38:10519Durchsuche

How to Fix the

Behebung des Fehlers „mysqli_connect: Authentifizierungsmethode dem Client unbekannt [caching_sha2_password]“ für php mysqli_connect

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:

  1. Verwenden Sie mysql_native_password Authentifizierung: Ändern Sie die Einstellung „default_authentication_plugin“ in der MySQL Server-INI-Datei in mysql_native_password, das mit dem Passwort-Hash von Benutzer1 kompatibel ist. Dadurch kann sich Benutzer1 erfolgreich anmelden.
  2. 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.

  3. 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!

Stellungnahme:
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