node.js 连接尝试MySql报错:ER_NOT_SUPPORTED_AUTH_MODE: Client

前情

在vscode中使用mysql模块测试mysql模块是否能正常工作时,结果给我抛出来了一个异常:

ER_NOT_SUPPORTED_AUTH_MODE: Client does not support auhentication protocol requested by server; consider upgrading MySQL client

如图:

alt

原因

node.js提供的mysql模块并未完全支持MySQL 8.0及以上的“caching_sha2_password”加密方式,而“caching_sha2_password”在MySQL 8.0中是默认的加密方式。

解决办法

  1. 打开cmd终端,先登入MySql(建议用管理员模式打开)。输入如下命令:
mysql -u root -p

alt

  1. 更改加密方式为普通加密模式(8.0版本默认为严格加密模式)。输入如下命令:(我的密码是666)
alter user 'root'@'localhost' identified with mysql_native_password by '你的数据库密码';

alt

  1. 刷新权限,输入如下命令:(注意mysql语句每一句结束都要加分号!!!
flush privileges;

alt

刷新成功。我去重新测试了一下。哎,成功了👌。

alt

全部评论

相关推荐

2025-12-14 11:43
黑龙江大学 Java
用微笑面对困难:确实比较烂,可以这么修改:加上大学的qs排名,然后大学简介要写一些,然后硕士大学加大加粗,科研经历第一句话都写上在复旦大学时,主要负责xxxx,简历左上角把学校logo写上,建议用复旦大学的简历模板
点赞 评论 收藏
分享
2025-12-17 17:15
华东师范大学 运营
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务