node连接mysql报错1251

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 }

第一次使用nodejs连接mysql报错,提示“客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端”。

原因:

MySQL8 之前的版本中加密规则是mysql_native_password,而在MySQL8之后,加密规则是caching_sha2_password

解决方法:

把mysql用户登录密码加密规则还原成mysql_native_password

步骤:
1.打开cmd,进入mysql的bin目录下,执行命令
mysql -u root -p
输入密码后进入mysql;
2.执行命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
修改密码
3.刷新权限,执行命令
FLUSH PRIVILEGES;
4.完成

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容