原來,MySql 8.0.15 換了新的身份驗證插件(caching_sha2_password), 原來的身份驗證插件爲(mysql_native_password)。而客戶端工具Navicat Premium12 中找不到新的身份驗證插件(caching_sha2_password),對此,我們將mysql用戶使用的 登錄密碼加密規則 還原成 mysql_native_password,即可登陸成功。
第一步:登陸mysql客戶端
use mysql
第二步:從數據庫的user表中查詢 mysql 用戶原來使用的身份驗證插件
select user,host,plugin,authentication_string from user;
第三步:更換插件
將用戶root使用的身份驗證插件 替換爲之前版本使用的 mysql_native_password ,修改成功後再次使用客戶端工具 Navicat Premium12 ,如無其它意外 , 應該是可以正常連接登錄了
alter user 'root'@'%' identified with mysql_native_password by '123456';
備註:我使用的是docker部署的mysql,如果您也是如此,通過以下方式可進入mysql客戶端
第一步:啓動mysql
service docker start
第二步:使用命令分別進入
第一步:使用命令:docker exec -it mysql bash
第二步:使用命令:mysql -uroot -p
第三步:輸入密碼
第四步:進行mysql相關操作