node.js连接mysql报错ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol reque...

node新手,今天折腾了一下node连接mysql数据库,数据库我是用 docker创建的,用的mysql 8.17版本,node配置如下:

当我启动node 的时候,报错了,如下:

导致这个错误的原因是,目前,最新的mysql模块并未完全支持MySQL 8的“caching_sha2_password”加密方式,而“caching_sha2_password”在MySQL 8中是默认的加密方式。因此,下面的方式命令是默认已经使用了“caching_sha2_password”加密方式,该账号、密码无法在mysql模块中使用。

开始,我查看了网上大佬写的文章,几乎都是执行命令:

但是我执行了这个命令,问题依然存在,查询了半天,最后去掉@'localhost',完美解决这个问题。

所以,如果你也遇到了跟我一样的问题,这样试试,看看能不能解决吧!

至于为什么去掉@'localhost'就能连接成功,我也没去细查,如果有大佬清楚,可以告诉我哟!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容