[email protected]@mysql/lib/protocol/Parser.js:437throw err// Rethrow non-MySQL errors

報錯主要信息:

D:\projects\nodejs\blog-1\node_modules\[email protected]@mysql\lib\protocol\Parser.js:437
      throw err; // Rethrow non-MySQL errors
      ^
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
flush privileges;


解決方法:

// 進入mysql 輸入密碼例如:123456
mysql -u root -p 

// 1.執行語句 alter user 'root'@'localhost' identified with mysql_native_password by 密碼;
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.43 sec)

// 2.再執行語句 flush privileges;
mysql> flush privileges;
Query OK, 0 rows affected (0.05 sec)

//3.成功後 退出
mysql> quit
Bye

nodejs環境重啓下即可 npm run dev

原因:

MySQL8.0.4之前,MySQL的密碼認證插件是

“mysql_native_password”,而以後版本使用的是“caching_sha2_password”。所以node會密碼認證失敗
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章