問題描述
在安裝完Mysql8.0後使用Navicat for Mysql 連接時,彈出瞭如上圖的錯誤。根據提示信息說“客戶端不支持服務器請求的身份驗證協議”,意思大概就是說mysql的身份驗證和Navicat的身份驗證不支持(???),想了想,不知道怎麼對Navicat下手,那就對Mysql下手。百度了一下問題,說:mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之後,加密規則是caching_sha2_password, 那就把身份加密規則還原回去唄
開始解決
1.首先,在CMD中進入數據庫中
2.更改身份驗證加密規則,然後使用原來的mysql_native_password規則
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password(這裏需要改爲自己的密碼)’; # 更新用戶身份驗證規則
FLUSH PRIVILEGES; # 刷新權限
再次使用Navicat 就可以成功連接了!