Node.js連接MySQL數據庫報錯


解決Node.js第一次連接MySQL數據庫時出現[SELECT ERROR] - ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client的錯誤。

報錯原因:mysql8.0以上的加密方式,Node.js還不支持。

解決方法:

  • 進入mysql(cmd管理員模式)
  1. 第一步:啟動mysql服務,可以通過net start mysql命令實現

  2. 第二步:在命令行輸入:mysql -u用戶名 -p密碼,回車;
    -h表示服務器名,localhost表示本地,-hlocalhost 可不輸入;
    -u為數據庫用戶名,root是mysql默認用戶名;
    -p為密碼,如果設置了密碼,可直接在-p后鏈接輸入,如:-p123456,用戶沒有設置密碼,顯示 Enter password時,直接回車即可。)
    例子:mysql -hlocalhost -uroot -p123456,包含了密碼會直接進入

  3. 進入后是這樣的:
    image

  4. 輸入MySQL語句

    先輸入alter user 'root'@'localhost' identified with mysql_native_password by '123456';

    出現:
    image

    再輸入flush privileges;

    出現:
    image

    問題解決了,再次運行就不會報錯了

參考文章:

原文參考鏈接1:https://blog.csdn.net/weixin_43042683/article/details/106779060
原文參考鏈接2:https://www.cnblogs.com/jing-tian/p/11688073.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM