Beim Versuch, eine Datenbankverbindung mit mysqli_connect herzustellen, kann die Fehlermeldung „ Die vom Server angeforderte Authentifizierungsmethode ist dem Client [caching_sha2_password] unbekannt.“ Dieser Fehler entsteht durch eine Diskrepanz zwischen der auf dem MySQL-Server konfigurierten Authentifizierungsmethode und der von Ihrem PHP-Code unterstützten Methode.
Konkret setzt die MySQL-Server-INI-Datei default_authentication_plugin auf caching_sha2_password. Dieses Plugin bietet erhöhte Sicherheit, erfordert jedoch Clientunterstützung für diese Methode. Ihr PHP-Code verwendet jedoch den standardmäßigen nativen MySQL-Passwortauthentifizierungsmechanismus, der nicht mit caching_sha2_password kompatibel ist.
Um dieses Problem zu beheben, haben Sie zwei Möglichkeiten:
Sie können das default_authentication_plugin in der MySQL Server-INI-Datei in mysql_native_password ändern. Dadurch kann Ihr PHP-Code eine Verbindung mit der nativen Passwort-Authentifizierungsmethode herstellen.
Alternativ können Sie die entsprechende Authentifizierungsmethode in Ihrem PHP-Code angeben die Konfiguration des Servers. Dies kann durch die Verwendung der Funktion mysqli_options() vor dem Aufruf von mysqli_connect() erfolgen.
mysqli_options(mysqli, MYSQLI_OPT_AUTH_PLUGIN, 'caching_sha2_password');
Wenn keine der oben genannten Optionen das Problem behebt, müssen Sie möglicherweise Änderungen vornehmen die Authentifizierungsmethode für den spezifischen Benutzer, der versucht, eine Verbindung herzustellen. Dies kann mit dem folgenden SQL-Befehl erfolgen:
ALTER USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'new_password';
Durch die Implementierung dieser Lösungen können Sie mithilfe von mysqli_connect trotz der auf dem Server festgelegten Standardauthentifizierungsmethode erfolgreich eine Verbindung zu MySQL herstellen.
Das obige ist der detaillierte Inhalt vonWie behebe ich den MySQL-Fehler „Unbekannte Authentifizierungsmethode [caching_sha2_password]' mit mysqli_connect?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!