問題描述:
使用Navicat Premium 連接MySQL時出現如下錯誤:
問題原因:
這種情況是因爲MySQL之前加密規則爲mysql_native_password,在MySQL 8.0以後的加密規則爲caching_sha2_password,所以需要修改登陸的用戶加密規則並刷新。
解決方法:
- win+R快捷鍵運行cmd,切換到mysql安裝目錄下的bin文件夾下
mysql> cd C:\Program Files\MySQL\MySQL Server 8.0\bin
- 登陸
mysql> mysql -u root -p;
- 選擇數據庫
mysql> use mysql;
- 更改加密方式和更新用戶密碼
-- 遠程連接請將'localhost'換成'%'
mysql> alter user 'root'@ 'localhost' identified by 'password' password expire never; #更改加密方式
mysql> alter user 'root'@ 'localhost' identified with mysql_native_password by 'password'; #更新用戶密碼
- 刷新權限
mysql> flush privileges;