admin 管理员组

文章数量: 1184232

第一次使用node连接mysql8.0时报错:

Client does not support authentication protocol requested by server; consider upgrading MySQL client
(客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端;)

原因

MySQL 8 之前的版本中加密规则是mysql_native_password
而在mysql8之后,加密规则是caching_sha2_password
在Node中的mysql还不支持mysql8默认的新规则。 所以将账户的加密规则改为旧的即可

解决方案

1.可以使用数据库连接工具修改配置,这里我使用的navicat

2.点击新建查询

输入:

alter user 'root'@'localhost' identified by '你的数据库密码' password expire never;

alter user 'root'@'localhost' identified with mysql_native_password by '你的数据库密码';

flush privileges;
  • password expire never 是mysql8之后的新密码管理机制
  • mysql_native_password则是8之前的版本密码校验方式
  • flush privileges:再次刷新一下权限配置。

3.然后选择“运行”

4.使用node重新连接mysql,访问接口,发现可以正常访问了

本文标签: 报错 client Node MySQL support