今天安裝了新版的MySQL(8.0.21),用node框架連接數據庫的時候報了個錯:
Client does not support authentication protocol requested by server; consider upgrading MySQL client
原因在于MySQL8.0換了加密插件,而數據庫管理客戶端還是原來舊版本的加密方式,主要在于安裝MySQL8.0過程中的Authentication Method這一配置過程,有了不同的加密方式,所以如果選擇強加密(默認應該是這種),就會出現上訴報錯問題,那么只要修改一下加密方式為保留舊版本的加密方式就ok了。
1.windows用戶使用終端進入數據庫后輸入:
alter user 'root'@'%' identified with mysql_native_password by '密碼' // 重新設置密碼
flush privileges // 刷新權限配置
即可解決!
2.mac用戶看這里
本人在安裝過程中也是使用了默認的強加密方式,解決方法也很簡單,首先打開系統偏好設置

點擊MySQL進入數據庫

進去后發現是這樣的界面,可以看到數據庫是使用了強加密方式

然后我們選擇下面的 Legacy Password
,并設置密碼

點擊OK,最后重啟數據庫就好啦!
因為本人換了mac,無法親自操刀win上的步驟,有不詳盡之處還請諒解,也可自行搜索其他教程!
總結
到此這篇關于node連接mysql數據庫遇到的問題和解決方案的文章就介紹到這了,更多相關node連接mysql數據庫內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- nodejs和C語言插入mysql數據庫亂碼問題的解決方法
- nodejs連接mysql數據庫簡單封裝示例-mysql模塊
- node.js平臺下的mysql數據庫配置及連接
- node操作mysql數據庫實例詳解
- Node.js數據庫操作之查詢MySQL數據庫(二)
- Node.js操作mysql數據庫增刪改查