ERROR 2059 : Authentication plugin 'caching_sha2_password' cannot be loaded
問題:
連接Docker啟動的mysql出現:ERROR 2059: Authentication plugin ‘caching_sha2_password’ cannot be loaded
問題出現原因:
在用navicat連接MySQL8+時會出現2059錯誤,這是由於新版本的MySQL使用的是caching_sha2_password驗證方式(具體的驗證方式可以查看默認數據庫'mysql'中user表plugin字段),但此時的navicat還沒有支持這種驗證方式。
解決辦法
方法一:
升級navicat驅動
方法二:
把mysql用戶登錄密碼加密規則還原成mysql_native_password
1.進入mysql容器
docker exec -it mysql2 /bin/bash
或者
docker exec-it mysql2 bash
mysql2是docker容器名
2.進入mysql
mysql -uroot -pmima-u 指定用戶,這里是root用戶-p 后面跟密碼
3.修改密碼
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
'root'可以改為你自己定義的用戶名
'password'指的是用戶密碼,即想使用的驗證密碼
'%'表示:指的是該用戶開放的IP,%表示所有IP均可訪問,可以是'localhost'(僅本機訪問,相當於127.0.0.1),可以是具體的'*.*.*.*'(具體某一IP)
比如用戶密碼是123456,當執行上面這條語句之后,mysql對用戶名為root密碼為123456的校驗改為了mysql_native_password方式