Heim >Datenbank >MySQL-Tutorial >Warum schlägt mysqli_connect() mit „Authentifizierungsmethode unbekannt (Caching_sha2_password)' fehl?

Warum schlägt mysqli_connect() mit „Authentifizierungsmethode unbekannt (Caching_sha2_password)' fehl?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-21 22:54:34901Durchsuche

Why Does mysqli_connect() Fail with

mysqli_connect: Authentifizierungsmethode unbekannt (Caching_sha2_password)

Hintergrund:

Bei Verwendung von mysqli_connect von MySQL ()-Funktion kann ein Fehler auftreten: „Fehler: mysqli_connect(): Der Server hat eine Authentifizierungsmethode angefordert, die dem Client unbekannt ist.“ Dies weist auf eine Nichtübereinstimmung zwischen der vom Server verwendeten und der vom Client implementierten Authentifizierungsmethode hin.

Insbesondere wenn der MySQL-Server auf die Verwendung der Authentifizierungsmethode caching_sha2_password eingestellt ist, kann der Fehler auftreten, wenn der Client dies nicht unterstützt oder nicht für die Verwendung dieser Methode konfiguriert ist.

Fehlerbehebung und Lösung:

Im In diesem Fall ist der MySQL-Server so konfiguriert, dass er die Caching_sha2_password-Authentifizierung verwendet, für die der PHP-Client nicht geeignet ist. Um dieses Problem zu beheben, können Sie:

1. Ändern Sie die MySQL-Serverkonfiguration:

Ändern Sie die Einstellung „default_authentication_plugin“ in der INI-Datei von MySQL (my.ini unter Windows, /etc/my.cnf unter Linux) von caching_sha2_password in mysql_native_password. Dadurch kann der Server die ältere Authentifizierungsmethode verwenden.

2. PHP-Client aktualisieren:

Aktualisieren Sie den PHP-MySQL-Client auf eine Version, die die Caching_sha2_password-Authentifizierung unterstützt. Dies ist jedoch möglicherweise nicht erforderlich, da die Änderung der Serverkonfiguration das Problem beheben sollte.

3. Benutzerauthentifizierung festlegen:

Führen Sie den folgenden SQL-Befehl in MySQL aus:

ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Dieser Befehl ändert die Authentifizierungsmethode für den angegebenen Benutzer in „mysql_native_password“, sodass er trotz des Problems eine Verbindung herstellen kann Caching_sha2_password-Einstellung des Servers.

Das obige ist der detaillierte Inhalt vonWarum schlägt mysqli_connect() mit „Authentifizierungsmethode unbekannt (Caching_sha2_password)' fehl?. 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