node连接mysql报错1251_node 连接 mysql 报错 ER_NOT_SUPPORTED_AUTH_MODE
node 版本 v12.12.0mysql 版本 8.0我再家尝试使用node连接mysql数据库的时候,发现连接不上。报错信息显示为:{"code": "ER_NOT_SUPPORTED_AUTH_MODE","errno": 1251,"sqlMessage": "Client does not support authentication protocol requested by serv
node 版本 v12.12.0
mysql 版本 8.0
我再家尝试使用node连接mysql数据库的时候,发现连接不上。
报错信息显示为:
{
"code": "ER_NOT_SUPPORTED_AUTH_MODE",
"errno": 1251,
"sqlMessage": "Client does not support authentication protocol requested by server; consider upgrading MySQL client",
"sqlState": "08004",
"fatal": true
}
经过多番查询资料,得到的答案是,因为mysql8.0默认的密码认证方案是'caching_sha2_password',而目前node默认的密码认证方案是'mysql_native_password',所以即使密码是对的,但是却无法认证成功。
root:用户名
asd123456: 密码
解决方案:
1、使用管理员运行命令提示符
2、进入到mysql安装目录的bin目录下默认安装路径大概是(C:\Program Files\MySQL\MySQL Server 8.0\bin)
3、在命令提示行中键入: mysql -u root -p
4、mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'asd123456';此时得到提示Query OK, 0 rows affected (0.01 sec),这里是修改密码的认证方式
5、mysql> flush privileges;此时得到提示Query OK, 0 rows affected (0.01 sec),这里是重启权限
6、mysql> exit 退出mysql
一图胜前言:



魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)