今天安装了新版的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用户使用终端进入数据库后输入:
1
2
3
|
alter user 'root' @ '%' identified with mysql_native_password by '密码' // 重新设置密码
flush privileges // 刷新权限配置
|
即可解决!
2.mac用户看这里
本人在安装过程中也是使用了默认的强加密方式,解决方法也很简单,首先打开系统偏好设置
点击mysql进入数据库
进去后发现是这样的界面,可以看到数据库是使用了强加密方式
然后我们选择下面的 legacy password
,并设置密码
点击ok,最后重启数据库就好啦!
因为本人换了mac,无法亲自操刀win上的步骤,有不详尽之处还请谅解,也可自行搜索其他教程!
总结
到此这篇关于node连接mysql数据库遇到的问题和解决方案的文章就介绍到这了,更多相关node连接mysql数据库内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/qq_45745643/article/details/109081431