MySQL使用root远程登录
今天在安装docker版本的Mysql8的时,启动之后,使用navicat登录时报错"Authentication plugin ‘caching_sha2_password’ cannot be loaded",
通过查询Mysql的默认认证插件,如下图所示:
show variables like 'default_authentication_plugin';
Mysql8修改了默认的认证规则,navicat不支持,需要修改制定的认证规则
通过如下sql可查询用户默认的认证规则:
select host,user,plugin from mysql.user;
下图是已经修改过后的,如果没修改,roog对应的规则应该是"caching_sha2_password"
只需要通过如下语句修改认证规则,并刷新权限,就能实现root用户的远程登录。
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
把sql中的密码替换成自己的密码,执行刷新命令之后,再通过navicat就可以登录了。