and*_*m24 4 php docker docker-compose mysql-8.0 laravel-5.5
我使用的是docker,我有一个Laravel Framework 5.5.25容器和其他带有mysql Ver 8.0.11 for Linux on x86_64(MySQL社区服务器 - GPL)的容器.在我的docker compose配置中我有这个:
version: "2"
services:
mysql:
image: mysql
ports:
- "3307:3306"
command: --sql_mode=""
Run Code Online (Sandbox Code Playgroud)
因此,当Laravel尝试连接到MySql时出现此错误:
SQLSTATE [HY000] [2054]服务器请求客户端未知的身份验证方法(SQL:select*from
小智 9
对于使用 Laravel Valet 的本地开发,我可以使用 TablePlus SQL 查询编辑器通过键入以下内容来解决此问题
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';
我希望它也能帮助别人。
小智 8
您必须使用MySQL 8和PHP7 +的旧式密码:
ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';
Run Code Online (Sandbox Code Playgroud)
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock我正在使用 laravel 5.8 并让 MAMP 服务器通过添加如下所示的 .env 文件解决了此错误
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
Run Code Online (Sandbox Code Playgroud)
正如我在一些博客中发现的那样,这通常是由于最新 MySQL 版本的套接字问题造成的
| 归档时间: |
|
| 查看次数: |
5366 次 |
| 最近记录: |