Heim > Backend-Entwicklung > PHP-Tutorial > Wie behebe ich den MySQL-Fehler „Unbekannte Authentifizierungsmethode [caching_sha2_password]' mit mysqli_connect?

Wie behebe ich den MySQL-Fehler „Unbekannte Authentifizierungsmethode [caching_sha2_password]' mit mysqli_connect?

Susan Sarandon
Freigeben: 2024-12-13 19:10:11
Original
495 Leute haben es durchsucht

How to Fix MySQL's

Behebung des MySQL-Authentifizierungsfehlers: „Unbekannte Authentifizierungsmethode [caching_sha2_password]“ mit mysqli_connect

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:

Option 1: Authentifizierungs-Plugin aktivieren MySQL Server

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.

Option 2: Authentifizierungsmethode im PHP-Code angeben

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');
Nach dem Login kopieren

Benutzerauthentifizierung ändern

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';
Nach dem Login kopieren

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!

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