Heim >Backend-Entwicklung >PHP-Tutorial >Wie behebt man den Fehler „Der Server hat eine Authentifizierungsmethode angefordert, die dem Client unbekannt ist' in MySQL 8.0 mit PHP?

Wie behebt man den Fehler „Der Server hat eine Authentifizierungsmethode angefordert, die dem Client unbekannt ist' in MySQL 8.0 mit PHP?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-14 05:45:15664Durchsuche

How to Fix

MySQL 8.0-Fehler: Beheben von Authentifizierungsinkonsistenzen mit PHP-Anwendungen

PHP-Entwickler, die eine Verbindung zu MySQL 8.0-Datenbanken herstellen, stoßen möglicherweise auf den Fehler „Der Server hat eine Authentifizierung angefordert.“ Dem Client unbekannte Methode. Dieser Fehler wird typischerweise durch die Nichtübereinstimmung zwischen den von der MySQL-Datenbank und der PHP-Anwendung verwendeten Authentifizierungsmethoden verursacht.

Authentifizierungsmethodenkonflikt:

MySQL 8.0 verwendet caching_sha2_password als Passwort Standardauthentifizierungsmethode, während viele PHP-Anwendungen die Verwendung einer herkömmlichen passwortbasierten Authentifizierung erwarten. Wenn die Anwendung versucht, mit einer falschen Authentifizierungsmethode eine Verbindung zur Datenbank herzustellen, gibt der Server den oben genannten Fehler zurück.

Lösung:

Um dieses Problem zu beheben, verwenden Sie es Es ist erforderlich, die von der MySQL-Datenbank verwendete Authentifizierungsmethode so zu ändern, dass sie mit der von der PHP-Anwendung erwarteten übereinstimmt. Dies kann erreicht werden, indem das Authentifizierungs-Plugin der MySQL-Datenbank auf mysql_native_password umgestellt wird, das die passwortbasierte Authentifizierung unterstützt.

Schritte zum Ändern des Authentifizierungs-Plugins:

  1. Anmelden zu MySQL als Root-Benutzer:
mysql -u root -p
  1. Führen Sie das folgende SQL aus Befehl zum Ändern des Authentifizierungs-Plugins für den Root-Benutzer:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';

Ersetzen Sie „new_password“ durch ein sicheres Passwort Ihrer Wahl.

  1. Wenn Ihre PHP-Anwendung a Nicht-Root-Benutzer, wiederholen Sie Schritt 2 für diesen Benutzer und ersetzen Sie „root“ durch den entsprechenden Benutzernamen.
  2. Starten Sie den MySQL-Dienst neu, damit die Änderungen übernommen werden Wirkung.

Zusätzliche Ressourcen:

Weitere Informationen zu diesem Thema finden Sie in den folgenden Ressourcen:

  • [ Digital Ocean: Installation MySQL](https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04)
  • [MySQL-Dokumentation: Standardauthentifizierung Plugin](https://dev.mysql.com/doc/refman/8.0/en/server-options.html#sysvar_default_authentication_plugin)

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Der Server hat eine Authentifizierungsmethode angefordert, die dem Client unbekannt ist' in MySQL 8.0 mit 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