Heim >Backend-Entwicklung >PHP-Tutorial >Warum schlägt mysqli_connect mit „Authentifizierungsmethode, die dem Client unbekannt ist [caching_sha2_password]' fehl und wie kann ich das Problem beheben?

Warum schlägt mysqli_connect mit „Authentifizierungsmethode, die dem Client unbekannt ist [caching_sha2_password]' fehl und wie kann ich das Problem beheben?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-15 08:27:10649Durchsuche

Why is mysqli_connect Failing with

Authentifizierungsherausforderungen in mysqli_connect überwinden

Die mysqli_connect-Funktion erleichtert Datenbankverbindungen in PHP. Wenn Benutzer jedoch versuchen, mithilfe der Caching_sha2_password-Authentifizierung eine Verbindung zu einer MySQL-Datenbank herzustellen, können Authentifizierungsprobleme auftreten. Dieser Artikel untersucht die Grundursache und bietet eine Lösung für dieses Problem.

Das Problem

Im bereitgestellten Codeausschnitt ist die Einstellung „default_authentication_plugin“ in der MySQL Server-INI-Datei auf caching_sha2_password setzen. Diese Konfiguration verhindert, dass Benutzer sich mit Benutzernamen authentifizieren, die kein entsprechendes caching_sha2_password haben. Als Ergebnis wird die Fehlermeldung „Die vom Server angeforderte Authentifizierungsmethode ist dem Client [caching_sha2_password] unbekannt“ angezeigt.

Die Lösung

Um dieses Problem zu beheben, müssen Sie Sie können entweder:

  • das default_authentication_plugin ändern Einstellung:

    • Setzen Sie es auf mysql_native_password, um Benutzer1 die Anmeldung zu erlauben, Benutzer2 jedoch nicht.
  • Benutzerauthentifizierung ändern:

    • Verwenden Sie ALTER USER SQL-Befehl zum Ändern des Passworts für Benutzer1 und Benutzer2, damit es mit caching_sha2_password kompatibel ist:

      • Für bestehende Benutzer:

        • ALTER USER 'mysqlUsername'@'localhost ' IDENTIFIZIERT MIT mysql_native_password BY 'mysqlUsernamePassword';
      • Für neue Benutzer:

        • ERSTELLEN SIE BENUTZER 'jeffrey'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Implementierung

Nach dem Ändern der Authentifizierungs-Plugin-Einstellung oder Benutzerkennwörter, der mysqli_connect-Code stellt erfolgreich eine Verbindung zu MySQL her Datenbank.

Fazit

Wenn Sie das zugrunde liegende Authentifizierungsproblem verstehen und eine der bereitgestellten Lösungen implementieren, können Sie den Fehler „Authentifizierungsmethode, die dem Client unbekannt ist“ bei der Verwendung beheben mysqli_connect mit caching_sha2_password-Authentifizierung.

Das obige ist der detaillierte Inhalt vonWarum schlägt mysqli_connect mit „Authentifizierungsmethode, die dem Client unbekannt ist [caching_sha2_password]' fehl und wie kann ich das Problem beheben?. 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