解决nodeJs操作数据库报错ER_NOT_SUPPORTED_AUTH_MODE,并且提示Client does not support authentication protocol requested by server; consider upgrading MySQL client:客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端;

报错原因

最新的MySQL模块并未完全支持MySQL 8.0的caching_sha2_password加密方式,而MySQL 8.0中默认仍然是caching_sha2_password加密方式,因此用户认证不通过了。

image-20240719134649437

如下查询:

image-20240719134605279

这里的“123456”是你自己的密码

解决方法

直接数据库工具里面修改加密方式mysql_native_password:

image-20240719134726725

或者通过指令方式修改:

image-20240719134754341