Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich die Fehlermeldung „mysqli_connect Authentication Method Unknown ([caching_sha2_password])'?

Warum erhalte ich die Fehlermeldung „mysqli_connect Authentication Method Unknown ([caching_sha2_password])'?

Mary-Kate Olsen
Freigeben: 2024-12-17 11:02:26
Original
241 Leute haben es durchsucht

Why Am I Getting a

Authentifizierungsfehler behoben: mysqli_connect-Authentifizierungsmethode unbekannt ([caching_sha2_password])

Beim Herstellen einer Verbindung zu einer MySQL-Datenbank mithilfe von mysqli_connect von PHP kann es zu folgendem Problem kommen: die folgende Fehlermeldung: „Der Server hat eine Authentifizierungsmethode angefordert, die dem Client unbekannt ist [caching_sha2_password]“. Dieses Problem tritt auf, wenn der MySQL-Server für die Verwendung der Authentifizierungsmethode caching_sha2_password konfiguriert ist, die von bestimmten Benutzerkonten nicht nativ unterstützt wird oder möglicherweise eine zusätzliche Konfiguration erfordert.

Fehlerursache:

Die Authentifizierungsmethode caching_sha2_password ist eine sichere Methode, die von MySQL Server zur Speicherung und Authentifizierung von Passwörtern verwendet wird. Sie ersetzt die ältere Methode mysql_native_password und erhöht die Sicherheit durch die Speicherung von Passwörtern in gehashter Form. Standardmäßig wird caching_sha2_password zur Standardauthentifizierungsmethode, wenn bestimmte Bedingungen erfüllt sind.

Problem lösen:

Um dieses Problem zu beheben, haben Sie zwei Möglichkeiten:

  1. Benutzerkonten konvertieren in mysql_native_password:
  • Führen Sie den folgenden SQL-Befehl aus, um Benutzerkonten für die Verwendung der mysql_native_password-Authentifizierungsmethode zu konvertieren:
ALTER USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';
Nach dem Login kopieren
  1. MySQL-Server ändern Konfiguration:
  • Öffnen Sie die Konfigurationsdatei des MySQL-Servers (normalerweise mit dem Namen my.cnf) und navigieren Sie zum Abschnitt [mysqld].
  • Ändern Sie den Wert von „default_authentication_plugin“-Einstellung von caching_sha2_password bis mysql_native_password:
[mysqld]
default_authentication_plugin=mysql_native_password
Nach dem Login kopieren

Hinweis: Nachdem Sie Änderungen an der MySQL-Server-Konfigurationsdatei vorgenommen haben, müssen Sie den MySQL-Server neu starten, damit die Änderungen wirksam werden.

Neue Benutzer erstellen mit mysql_native_password:

Verwenden Sie beim Erstellen neuer Benutzer mit mysql_native_password-Authentifizierung den folgenden Befehl:

CREATE USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';
Nach dem Login kopieren

Zusätzliche Überlegungen:

  • Stellen Sie sicher, dass der Benutzer, den Sie für die Verbindung zur Datenbank verwenden, über die entsprechenden Berechtigungen verfügt Berechtigungen.
  • Überprüfen Sie das Fehlerprotokoll des MySQL-Servers auf zusätzliche Fehlermeldungen, die möglicherweise mehr Kontext bieten.
  • Erwägen Sie eine Aktualisierung des Passwort-Hashing-Algorithmus auf dem MySQL-Server, um die Sicherheit weiter zu verbessern.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „mysqli_connect Authentication Method Unknown ([caching_sha2_password])'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage