使用navicat 链接8版本的mysql时报如下的异常信息:
1、分析方法:先用命令行方式登录数据库,查看 'mysql' 库中的 user 表中关于对每个用户所用插件的验证方式。由于表字段比较多,我们只要看 host,user,plugin三个字段的信息。结果信息如下图,结合异常提醒信息我们可以得出,mysql8.x的版本默认采用 'caching_sha2_password' 的验证方式,由于navicat还没能支持这种校验方式,故navicat客户端无法与mysql服务器链接成功。
2、解决方法:将localhost的root用户(上图中红色框部分)的插件验证方式改为旧版本的 'mysql_native_password' 验证方式。
执行命令:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
3、验证:执行完命令后我们在查看 'mysql' 库中的user表记录信息,可以看到校验方式修改成功。
再对navicat 客户端进行链接测试,测试链接成功。