navicat 连接 mysql 提示Client does not support authentication protocol requested by server错误

安装完mysql后,命令行登录没问题,但是用Navicat连接出现提示性错误。Mysql版本为:8.0.15

命令如下:

1、use mysql;

2、alter user 'root'@'localhost' identified with mysql_native_password by '********';

3、flush privileges;

 然后重新连接

在MySQL8.0.4以前,执行

SET PASSWORD=PASSWORD('[修改的密码]');
就可以更改密码,但是MySQL8.0.4开始,这样默认是不行的。因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。

  因为当前有很多数据库工具和链接包都不支持“caching_sha2_password”,为了方便,我暂时还是改回了“mysql_native_password”认证插件。

修改用户密码,在MySQL中执行命令:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
修改密码验证插件,同时修改密码。

原文地址:https://www.cnblogs.com/likui-bookHouse/p/11113510.html