node新手实幕,今天折騰了一下node連接mysql數(shù)據(jù)庫(kù)飞崖,數(shù)據(jù)庫(kù)我是用 docker創(chuàng)建的慰毅,用的mysql 8.17版本,node配置如下:
當(dāng)我啟動(dòng)node 的時(shí)候嗅虏,報(bào)錯(cuò)了洛姑,如下:
導(dǎo)致這個(gè)錯(cuò)誤的原因是,目前皮服,最新的mysql模塊并未完全支持MySQL 8的“caching_sha2_password”加密方式楞艾,而“caching_sha2_password”在MySQL 8中是默認(rèn)的加密方式。因此冰更,下面的方式命令是默認(rèn)已經(jīng)使用了“caching_sha2_password”加密方式产徊,該賬號(hào)、密碼無法在mysql模塊中使用蜀细。
開始舟铜,我查看了網(wǎng)上大佬寫的文章,幾乎都是執(zhí)行命令:
但是我執(zhí)行了這個(gè)命令奠衔,問題依然存在谆刨,查詢了半天塘娶,最后去掉@'localhost',完美解決這個(gè)問題。
所以痊夭,如果你也遇到了跟我一樣的問題刁岸,這樣試試,看看能不能解決吧她我!
至于為什么去掉@'localhost'就能連接成功虹曙,我也沒去細(xì)查,如果有大佬清楚番舆,可以告訴我喲酝碳!