笔记:laravel sail 环境下本地主机连接mysql问题
laravel sail的体验确实很好,喝茶式的环境安装,几乎所有开发所需要的环境都装的妥妥的。
php,mysql,redis,meiliSearch等都装好了。
一个sail up命令,本地的laravel项目就已经起飞了。
此文主要记录本地本机使用navicat连接sail中的mysql失败问题。
环境:win10 + wsl + sail(docker)
刚刚装好之后,按照文档中的msyql使用说明连接mysql服务,laravel程序倒是连接成功了。习惯使用navicat的我尝试使用navicat工具连接,不出所料的凉凉了。
连接被拒,提示“1251”报错( client does not support authentication …)。
无奈的进入sail shell,使用msyql -u sail -p -h mysql却能进入mysql。(注意:以用户sail第一次进入是有msyql库权限的,当设置好root权限之后,再使用sail用户登录,发现已经是无权限了。这个搞的我很是疑惑,具体为什么也没去探索,如果哪位大佬知道原因欢迎楼下答疑哈!)
尝试使用以下命令为mysql的root用户授权:
#查询user表
select host,user,plugin,authentication_string from mysql.user;
#为root用户设置所有主机权限,密码为:root
ALTER USER ‘root‘@’%’ IDENTIFIED WITH mysql_native_password BY ‘root’;
#刷新生效
flush privileges;
这下就可以用navicat工具连接了。。。
本作品采用《CC 协议》,转载必须注明作者和本文链接
MySQL刚刚安装后,默认是没有密码的,在你没有设置root密码之前,在CLI模式中你可以用任何身份进入
select host,user,plugin,authentication_string from mysql.user;
执行这个的时候报错,报错如下