So beheben Sie den Fehler: SQL-Authentifizierungsmethode in Laravel-MySql unbekannt
Lesezeit: 2 Minuten
andreszam24
Ich verwende Docker und habe einen Container von Laravel Framework 5.5.25 und anderen mit mysql Ver 8.0.11 für Linux auf x86_64 (MySQL Community Server – GPL). In meiner Konfiguration von Docker Compose habe ich Folgendes:
Wenn Laravel also versucht, eine Verbindung zu MySql herzustellen, erhalte ich diesen Fehler:
SQLSTATE[HY000] [2054] Die vom Server angeforderte Authentifizierungsmethode ist dem Client unbekannt (SQL: select * from
Im Moment musste ich auf die Version 5.6 von MySql zurückgreifen. aber wenn jemand weiß, wie man das Problem in der Version 8.0 lösen kann, sei willkommen. Danke schön.
– andreszam24
26. Mai ’18 um 23:38
Überprüfen Sie meine Antwort in stackoverflow.com/a/58615936/6312647 Für Ubuntu
– CookieCat
29. Okt ’19 um 21:57
Sie müssen Passwörter im Legacy-Stil für MySQL 8 und PHP7+ verwenden:
ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';
Leute, seid vorsichtig, dieser Befehl könnte Ihren MySQL-Login-Prozess beschädigen und bekommt Access denied for user 'username'@'ip_address' die mysql stoppen und mysql im abgesicherten Modus verwenden müssen, um Ihr Passwort zurückzusetzen
– Hama Bohel
8. Juli ’20 um 14:19
Für die lokale Entwicklung mit Laravel Valet konnte ich dies mit dem TablePlus SQL Query Editor lösen, indem ich dies eintippe
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';
Ich hoffe es hilft auch jemandem.
Ich verwende Laravel 5.8 und der MAMP-Server hat diesen Fehler durch Hinzufügen behoben DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock in .env-Datei wie unten
Im Moment musste ich auf die Version 5.6 von MySql zurückgreifen. aber wenn jemand weiß, wie man das Problem in der Version 8.0 lösen kann, sei willkommen. Danke schön.
– andreszam24
26. Mai ’18 um 23:38
Überprüfen Sie meine Antwort in stackoverflow.com/a/58615936/6312647 Für Ubuntu
– CookieCat
29. Okt ’19 um 21:57