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:
ALTER USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';
[mysqld] default_authentication_plugin=mysql_native_password
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>';
Zusätzliche Überlegungen:
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!