linux上安装了mysql后 并开启远程登录后 登录出现caching_sha2_password问题 原因为由于新版本的MySQL新特性导致的。
首先 查询一下用户的认证方式
mysql> select Host,User,plugin from mysql.user;
+-----------+------------------+-----------------------+
| Host | User | plugin |
+-----------+------------------+-----------------------+
| % | root | caching_sha2_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys | caching_sha2_password |
+-----------+------------------+-----------------------+
4 rows in set (0.00 sec)
在mysql老版本里 认证方式为mysql_native_password 8.0版本的认证方式为 caching_sha2_password
只需将认证方式改为mysql_native_password
更改方式有两种
1、更改my.cnf配置文件
default_authentication_plugin=mysql_native_password
2、使用sql
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
执行完毕后
之后就可以登录了~~~~~
PS:
经测试 navicate 12 在不更改认证方式的情况下也可以访问 猜测是因为新版本的连接工具提供了支持 但具体原因不清楚