navicat連線mysql8.0+版本報錯2059
阿新 • • 發佈:2018-12-29
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方式