原来,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相关操作