天天看點

Navicat 連接配接 MySQL8 出現 2059 錯誤的解決方案

叙述

工作中一直使用的是MySql 5.6版本,想着MySQL8已經釋出好幾年了,本地安裝個測試資料庫看看,但是安裝完成後,用​​Navicat​​連接配接,一直報2059錯誤,真是奇了怪了。

Navicat 連接配接 MySQL8 出現 2059 錯誤的解決方案

排查

晚上查了原因,說是在MySql8之前的版本,預設的加密規則是​

​mysql_native_password​

​​,而在MySql8後的版本,預設的加密規則已經調整為​

​caching_sha2_password​

​​,由于Navicat不支援最新的​

​caching_sha2_password​

​加密規則,導緻連接配接出錯。

解決方案

知道原因後,解決起來也很簡單,修改資料庫使用者的加密規則即可。

mysql -uroot -p ## 登入資料庫
 
use mysql;
 
ALTER USER 'root'@'%' IDENTIFIED BY 'abc123' PASSWORD EXPIRE NEVER; ##修改加密規則,其中abc123為修改後的密碼
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'abc123';##修改密碼
 
FLUSH PRIVILEGES; #重新整理權限      

 經過上述操作後,再用Navicat連接配接資料庫,就可能正常連接配接。

Navicat 連接配接 MySQL8 出現 2059 錯誤的解決方案

繼續閱讀