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

谁都会走 提交于 2019-12-01 20:37:03

问题


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


回答1:


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

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



回答2:


I am using laravel 5.8 and having MAMP server got this error resolved by adding DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock in .env file like below


DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_DATABASE=dbname
DB_USERNAME=root
DB_PASSWORD=root
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock

As I found in few of the blogs it generally comes because of the socket issue with latest MySQL version



来源:https://stackoverflow.com/questions/50547724/how-to-resolve-the-error-sql-authentication-method-unknown-in-laravel-mysql

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!