Heim >Datenbank >MySQL-Tutorial >Wie behebe ich den Fehler „mysqli_connect: dem Client unbekannte Authentifizierungsmethode [caching_sha2_password]' in PHP?

Wie behebe ich den Fehler „mysqli_connect: dem Client unbekannte Authentifizierungsmethode [caching_sha2_password]' in PHP?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-28 07:14:46898Durchsuche

How to Fix the

Abschwächung von „mysqli_connect: dem Client unbekannte Authentifizierungsmethode [caching_sha2_password]“ in PHP

Bei Verwendung von mysqli_connect von MySQL zur Authentifizierung bei einer lokalen Datenbank , könnten Sie auf den rätselhaften Fehler „mysqli_connect(): The server angeforderte Authentifizierungsmethode ist unbekannt“ stoßen der Client [caching_sha2_password].“ Dieser Fehler entsteht durch eine Diskrepanz zwischen dem vom Server verwendeten und dem vom Client erwarteten Authentifizierungs-Plugin.

Die INI-Datei des MySQL-Servers gibt vor, welches Standard-Authentifizierungs-Plugin für Serververbindungen verwendet wird. Standardmäßig ist diese Einstellung auf „caching_sha2_password“ konfiguriert, was angibt, dass der Server die Authentifizierungsmethode „caching_sha2_password“ bevorzugt. In Ihrem Fall wurde Ihr Server entsprechend konfiguriert.

Umgekehrt versucht Ihr PHP-Code, eine Verbindung mithilfe älterer Authentifizierungsmethoden wie der Methode „mysql_native_password“ herzustellen. Diese Nichtübereinstimmung führt zum Authentifizierungsfehler und führt zu dem oben genannten Fehler.

Lösung

Um dieses Problem zu beheben, können Sie die vom PHP-Code verwendete Authentifizierungsmethode so ändern, dass sie übereinstimmt die Standardeinstellung des Servers. Alternativ können Sie die INI-Datei des MySQL-Servers ändern, um ein mit dem PHP-Code kompatibles Authentifizierungs-Plugin anzugeben. Hier sind einige mögliche Lösungen:

  • Aktivieren Sie das mysql_native_password-Plugin auf dem MySQL-Server:

    • Öffnen Sie die INI-Datei des MySQL-Servers und suchen Sie den Parameter „default_authentication_plugin“.
    • Ändern Sie den Wert in „mysql_native_password.“
  • Ändern Sie den PHP-Code, um das caching_sha2_password-Plugin zu verwenden:

    • Verwenden Sie die Funktion mysqli_options(), um die Option MYSQLI_OPT_AUTH_PLUGIN auf zu setzen „caching_sha2_password.“

Alternativ können Sie die Authentifizierungsmethode des MySQL-Benutzers mithilfe von SQL-Befehlen auf mysql_native_password umstellen:

  • Bestehenden Benutzer ändern :

    • Führen Sie den SQL-Befehl aus: ALTER BENUTZER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';
  • Neuen Benutzer mit mysql_native_password erstellen:

    • Führen Sie den SQL-Befehl aus : BENUTZER ERSTELLEN 'jeffrey'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Durch die Implementierung dieser Lösungen können Sie die vom MySQL-Server und dem PHP-Client verwendeten Authentifizierungsmethoden in Einklang bringen , sodass Sie erfolgreich Verbindungen zu Ihrer Datenbank herstellen können.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „mysqli_connect: dem Client unbekannte Authentifizierungsmethode [caching_sha2_password]' in PHP?. 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