Laravel-admin 连接 MySQL8.0 遇到的问题如下,怎么解决?

Illuminate \ Database \ QueryException (2054)
SQLSTATE[HY000] [2054] Server sent charset unknown to the client. Please, report to the developers (SQL: select * from admin_users where username = admin limit 1)

file

dreamsun
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

这个问题就是mysql 8的密码验证方式是caching_sha2_password,而低版本都是mysql_native_password,所以会出错。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

5年前 评论
讨论数量: 10
jaak

看这报错 像是编码问题

5年前 评论

config/database.php

'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
5年前 评论

这个 issue 提到了是 PHP 版本的问题,https://github.com/docker-library/mysql/is...

可尝试升级 php 版本至 7.1.7 以上

5年前 评论
dreamsun

@Littlesqx 我还没测,我用的是PHP version PHP/7.1.0

5年前 评论
dreamsun

@jaak 不是编码问题

5年前 评论
dreamsun

@wjfz 默认就是这,不是这个问题

5年前 评论
jaak

@dreamsun 建议你检查数据库编码,数据库表的字符编码 ,代码的字符编码

5年前 评论
dreamsun

@jaak 检查了不行 我安装了mysql5.7.14 可以了 不折腾了 暂时用mysql5.7.14

5年前 评论

这个问题就是mysql 8的密码验证方式是caching_sha2_password,而低版本都是mysql_native_password,所以会出错。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

5年前 评论

您好,我今天也遇到这个问题了,请问一下,你的问题解决了吗?

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!