How to resolve the error: SQL authentication method unknown in Laravel-MySql

andreszam24 picture andreszam24 · May 27, 2018 · Viewed 12.8k times · Source

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

Answer

Esther picture Esther · Jun 27, 2018

You have to use legacy style passwords for MySQL 8 and PHP7+:

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';