今天安装了新版的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上的步骤,有不详尽之处还请谅解,也可自行搜索其他教程!
总结
到此这篇关于node连接mysql数据库遇到的问题和解决方案的文章就介绍到这了,更多相关node连接mysql数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:- nodejs和C语言插入mysql数据库乱码问题的解决方法
- nodejs连接mysql数据库简单封装示例-mysql模块
- node.js平台下的mysql数据库配置及连接
- node操作mysql数据库实例详解
- Node.js数据库操作之查询MySQL数据库(二)
- Node.js操作mysql数据库增删改查