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'就能连接成功,我也没去细查,如果有大佬清楚,可以告诉我哟!

你可能感兴趣的:(node.js连接mysql报错ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol reque...)