使用node 連接 mysql 報錯
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 }
通過網(wǎng)上查看解決方案缓熟,是因為mysql8.0默認的密碼認證方案是'caching_sha2_password',而目前node默認的密碼認證方案是'mysql_native_password',所以即使密碼是對的蚣旱,但是卻無法認證成功塞绿。
用戶名:root
密碼:123456
解決方案
1沟涨、使用管理員運行命令提示符
2、進入到mysql安裝目錄的bin目錄下默認安裝路徑大概是(C:\Program Files\MySQL\MySQL Server 8.0\bin)
3异吻、在命令提示行中鍵入: mysql -u root -p
4裹赴、mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
此時得到提示Query OK, 0 rows affected (0.01 sec),這里是修改密碼的認證方式
5涧黄、mysql> flush privileges;此時得到提示Query OK, 0 rows affected (0.01 sec)篮昧,這里是重啟權(quán)限
6、mysql> exit 退出mysql
image.png