1.問題顯示
通過windows主機navicat連接虛擬的mysql時報如下錯誤。
2.問題原因
由於navicat版本的問題,出現連接失敗的原因:mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之后,加密規則是caching_sha2_password。
兩種解決辦法:
1.升級navicat,由於navicat是收費的,個人感覺升級會比較麻煩點。
2.把用戶密碼登錄的加密規則還原成mysql_native_password這種加密方式。
3.修改加密方式
登錄mysql
#登錄mysql mysql -u root -p"你的密碼"
查看遠程配置
#查看能否遠程 select user,host,plugin from user where user='root';
修改遠程配置
#修改所有主機訪問 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何遠程主機都可以訪問數據庫 #修改加密機制 alter user 'root'@'%' identified with mysql_native_password by 'password';//password是mysql密碼。
#刷新配置
flush privileges;
4. 測試連接
文章轉載至:https://blog.csdn.net/yubin1285570923/article/details/83352491