Authentifizierungsmethodenfehler in PHP mit MySQL 8.0
Benutzer können beim Versuch auf den Fehler „Der Server hat eine dem Client unbekannte Authentifizierungsmethode angefordert“ stoßen um eine Verbindung zwischen PHP und MySQL Version 8.0 herzustellen.
Root Ursache
Dieser Fehler tritt normalerweise aufgrund einer Nichtübereinstimmung zwischen dem in MySQL konfigurierten Authentifizierungs-Plugin und den Erwartungen der PHP-Anwendung auf. In MySQL 8 ist das Standard-Authentifizierungs-Plugin „auth_socket“, das davon ausgeht, dass Anwendungen eine UNIX-Socket-Verbindung ohne passwortbasierte Authentifizierung verwenden.
Auflösung
An Um dieses Problem zu beheben, können Sie das Authentifizierungs-Plugin für bestimmte Benutzer oder den gesamten MySQL-Server ändern. So ändern Sie es für den „Root“-Benutzer:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Erklärung
Dieser Befehl ändert die Authentifizierungsmethode für den „Root“ Benutzer auf „localhost“ zu „mysql_native_password“. Ersetzen Sie „Passwort“ durch Ihr gewünschtes Passwort. Darüber hinaus können Sie den Benutzer oder Host angeben, zu dem Ihre PHP-Anwendung eine Verbindung herstellt, wenn dieser von der Kombination „root“@„localhost“ abweicht.
Zusätzliche Informationen
Wenn Wenn Ihre Anwendung über einen Nicht-Root-Benutzer eine Verbindung zur Datenbank herstellt, ändern Sie den „Root“-Benutzer im SQL-Befehl durch den entsprechenden Benutzer. Stellen Sie sicher, dass der Benutzer vorhanden ist und über die erforderlichen Berechtigungen für den Zugriff auf die Datenbank verfügt.
Weitere Informationen zum Konfigurieren von Authentifizierungsmethoden finden Sie in der Digital Ocean-Dokumentation zur Installation von MySQL.
Das obige ist der detaillierte Inhalt vonWarum erhält meine PHP-Anwendung beim Herstellen einer Verbindung zu MySQL 8.0 die Fehlermeldung „Authentifizierungsmethode dem Client unbekannt'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!