出現錯誤 Client does not support authentication protocol requested by server; consider upgrading MySQL client
今天使用 typeorm 連接 mysql8.0.17 出現錯誤,出現的錯誤就是 Client does not support authentication protocol requested by server; consider upgrading MySQL client . 出現的原因 mysql8 之前的版本中加密規則是 mysql_native_password,而在 mysql8 之后,加密規則是 caching_sha2_password
解決方法
- 升級 navicat 驅動
- 把 mysql 用戶登錄密碼加密規則還原成 mysql_native_password
使用方法 2 解決
查找 mysql 安裝位置,我的使用 homebrew 安裝的,所以可以直接使用 brew 命令進行查找
brew info mysql
可以查到 /usr/local/Cellar/mysql/8.0.17_1 (284 files, 272.4MB) 這是安裝位置, 進入 mysql 的安裝目錄下的 bin 目錄
cd /usr/local/Cellar/mysql/8.0.17_1
cd bin
mysql -u root -p
輸入密碼獲取權限,之后接着輸入
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密規則
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用戶的密碼
FLUSH PRIVILEGES; #刷新權限
再次進行連接,重新輸入新的賬號密碼