使用node連接MySQL數(shù)據(jù)庫(kù)時(shí),報(bào)錯(cuò)如下:
at node:internal/main/run_main_module:17:47 { code: 'ER_NOT_SUPPORTED_AUTH_MODE', errno: 1251, sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client', sqlState: '08004', fatal: true }
通過(guò)網(wǎng)上查看解決方案,是因?yàn)閙ysql8.0默認(rèn)的密碼認(rèn)證方案是'caching_sha2_password',而目前node默認(rèn)的密碼認(rèn)證方案是'mysql_native_password',所以即使密碼是對(duì)的,但是卻無(wú)法認(rèn)證成功。
用戶名:root
密碼:12345678
解決方案:
1、使用管理員運(yùn)行命令提示符 2、進(jìn)入到mysql安裝目錄的bin目錄下默認(rèn)安裝路徑大概是(C:\Program Files\MySQL\MySQL Server 8.0\bin) 3、在命令提示行中鍵入: mysql -u root -p 4、mysql> alter user **root** identified with mysql_native_password by '12345678';此時(shí)得到提示Query OK, 0 rows affected (0.01 sec),這里是修改密碼的認(rèn)證方式 5、mysql> flush privileges;此時(shí)得到提示Query OK, 0 rows affected (0.01 sec),這里是重啟權(quán)限 6、mysql> exit 退出mysql

僅做存檔,非原創(chuàng)!
摘抄于:node 連接 mysql 報(bào)錯(cuò) ER_NOT_SUPPORTED_AUTH_MODE