node连接mysql时报错Client does not support authentication protocol req ...

石小疯  论坛元老 | 2023-12-23 06:21:27 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1035|帖子 1035|积分 3105

尝试用node编写一个简单的登录接口,结果启动服务后请求接口出现了该错误。
其问题就是访问的工具身份验证协议过于落后,在node内安装的2.18.1 mysql包。
解决:
先登录数据库。
use mysql;(mysql为数据库名)
提示Database changed;
查询表中信息 ;
  1. select user,host,plugin from mysql.user
  2. //这里查询的三项分别为,用户,主机地址,插件信息,可以知道密码校验的方式
复制代码
 

 
之后执行以下语句
  1. alter user 'root'@'%' identified by 'password' password expire never;
  2. // password expire never 是mysql8之后的新密码管理机制
  3. alter user 'root'@'%' identified with mysql_native_password by 'password';
  4. //password是自己新修改的密码, mysql_native_password则是另一种密码校验方式.(具体原理我也不知道)
  5. flush privileges;<br>//再次刷新一下权限配置。
复制代码
  
修改好了,再使用node访问接口,成功拿到数据库中数据。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

石小疯

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表