mysql8.0报错-加密方式问题
现象:navicat12连接mysql8.0报错
问题描述:用Navicat15以下版本连接Mysql8.0时,提示:plugin caching_sha2_password could not be loaded - ...。
原因:是因为mysql登录验证的默认插件变更了,从mysql_native_password变为caching_sha2_password。
解决方法:
方法1:使用Navicat15或者以上版本连接Mysql8.0数据库(推荐)。
navicat最新版下载地址http://www.navicat.com.cn/download/navicat-premium 。
方法2:将mysql的登录插件改回为mysql_native_password(不推荐)。
Step1:bin目录下开cmd窗口;
Step2:输入账号密码连接mysql;
mysql -u root -p
Step3:查看身份验证类型。
use mysql;
select user,plugin from user where user ='root'; -- 查询root账号加密方式
select host,user,plugin from user; -- 查询所有账号加密方式
Step4:修改root账号的身份验证类型.
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; -- 修改root账号加密方式为mysql_native_password
备注:update user set host='%' where user='root'; --修改root账号访问权限为%,允许远程访问
Step5:使设置生效
FLUSH PRIVILEGES; 刷新修改