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?
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:
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:
Für neue Benutzer:
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!