1. 程式人生 > >navicat連線mysql8.0+版本報錯2059

navicat連線mysql8.0+版本報錯2059

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方式