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