node連線mysql資料庫遇到的問題和解決

2020-10-15 11:00:14

今天安裝了新版的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上的步驟,有不詳盡之處還請諒解,也可自行搜尋其他教學!