公司mysql换成了最新版本的mysql8.0,用navicat11,navicat12连接都不好使,提示plugin caching_sha2_password could not be loaded - ...
后来查了下原因,是mysql登录验证的默认插件变更了,从mysql_native_password变为caching_sha2_password。后来解决了该问题,该问题解决方式大体分为两种:
1.将mysql的登录插件改回为mysql_native_password(不推荐)
MySQL 已成功安装完成后 查看身份验证类型
登录mysql
C:\Program Files\mysql\bin>mysql -h localhost -u root -p
mysql> use mysql;
Database changed
mysql> SELECT Host, User, plugin from 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 |
| localhost | root | caching_sha2_password |
+-----------+------------------+-----------------------+
5 rows in set (0.00 sec)
root 用户的验证器插件为 caching_sha2_password
修改身份验证类型(修改密码)
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)
使生效
mysql> FLUSH PRIVILEGES;
验证是否生效
mysql> SELECT Host, User, plugin from user;
+-----------+------------------+-----------------------+
| Host | User | plugin |
+-----------+------------------+-----------------------+
| % | root | mysql_native_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys | caching_sha2_password |
| localhost | root | mysql_native_password |
+-----------+------------------+-----------------------+
5 rows in set (0.00 sec)
2.将navicat升级到最新版navicat15(推荐)
navicat最新版下载地址http://www.navicat.com.cn/download/navicat-premium