1. 程式人生 > 其它 >Node.js v16.13.0 連線MySQL資料庫8.0.27失敗問題

Node.js v16.13.0 連線MySQL資料庫8.0.27失敗問題

小白嘗試使用Javascript語言連線MySQL資料庫,結果出現瞭如下錯誤:

[SELECT ERROR] -  ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

查閱網上資料,看到如下解決辦法,所以來記錄一下。


解決方法:

  1. 最好MySQL資料庫初始化是有密碼的,比如我是 user:root,password:root
  2. 連線進入MySQL資料庫
  3. 輸入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
  4. 再然後進入Node.js 連線資料庫就不報錯誤了,就可以查詢成功了。
  5. 原部落格輸入了兩條命令,但我是剛剛初始化修改的密碼,所以就只輸入了第二個,好在解決了,如果不能解決就輸入兩個吧。
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRENEVER;
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '修改自己的密碼';

我用到的命令如下:

mysql -u root -p
Enter password: root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

參考部落格地址: https://www.cnblogs.com/tourey-fatty/p/12522784.html