今天安装了新版的MySQL(8.0.21),用node框架连接数据库的时候报了个错:
Client does not support authentication protocol requested by server; consider upgrading MySQL client
原因在于MySQL8.0换了加密插件,而数据库管理客户端还是原来旧版本的加密方式,主要在于安装MySQL8.0过程中的Authentication Method这一配置过程,有了不同的加密方式,所以如果选择强加密(默认应该是这种),就会出现上诉报错问题,那么只要修改一下加密方式为保留旧版本的加密方式就ok了。
1.windows用户使用终端进入数据库后输入:
alter user 'root'@'%' identified with mysql_native_password by '密码' // 重新设置密码
flush privileges // 刷新权限配置
即可解决!
2.mac用户看这里
本人在安装过程中也是使用了默认的强加密方式,解决方法也很简单,首先打开系统偏好设置
点击MySQL进入数据库
进去后发现是这样的界面,可以看到数据库是使用了强加密方式
然后我们选择下面的 Legacy Password
,并设置密码
点击OK,最后重启数据库就好啦!
因为本人换了mac,无法亲自操刀win上的步骤,有不详尽之处还请谅解,也可自行搜索其他教程!