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 loadedmysql

問題出現緣由:

  在用navicat鏈接MySQL8+時會出現2059錯誤,這是因爲新版本的MySQL使用的是caching_sha2_password驗證方式(具體的驗證方式能夠查看默認數據庫'mysql'中user表plugin字段),但此時的navicat尚未支持這種驗證方式。sql

解決辦法

方法一:

  升級navicat驅動docker

方法二:

  把mysql用戶登陸密碼加密規則還原成mysql_native_password數據庫

1.進入mysql容器bash

docker exec -it mysql2 /bin/bash
或者
docker exec -it mysql2 bash
mysql2是docker容器名

2.進入mysql加密

mysql -uroot -pmima
    -u 指定用戶,這裏是root用戶
    -p 後面跟密碼

3.修改密碼spa

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

    'root'能夠改成你本身定義的用戶名code

    'password'指的是用戶密碼,即想使用的驗證密碼blog

   '%'表示:指的是該用戶開放的IP,%表示全部IP都可訪問,能夠是'localhost'(僅本機訪問,至關於127.0.0.1),能夠是具體的'*.*.*.*'(具體某一IP)   好比用戶密碼是123456,當執行上面這條語句以後,mysql對用戶名爲root密碼爲123456的校驗改成了mysql_native_password方式
相關文章
相關標籤/搜索