问题描述
客户端不支持服务器请求的身份验证协议
原因分析:
网上说出现这种情况的原因是:mysql8 之前的版本中加密规则是mysql_native_password,
而在mysql8之后,加密规则是caching_sha2_password
解决方案:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
//更新user为root,host为% 的密码为123456
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
//更新user为root,host为localhost 的密码为123456
或者
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
#更新一下用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
#修改加密规则
FLUSH PRIVILEGES; #刷新权限
再次查询用户信息
mysql> select user,host,plugin from mysql.user;
再次在Navicat中连接mysql,连接成功