I using docker and I have a container of Laravel Framework 5.5.25 and other with mysql Ver 8.0.11 for Linux on x86_64 (MySQL Community Server - GPL). in my configuration of docker compose I have this:
version: "2"
services:
mysql:
image: mysql
ports:
- "3307:3306"
command: --sql_mode=""
So, when Laravel try to connect to MySql I have this error:
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select * from
You have to use legacy style passwords for MySQL 8 and PHP7+:
ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';
For local development using Laravel Valet I was able to resolve this using TablePlus SQL Query editor by typing this
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';
I hope it helps someone too.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With