原因是mysql服务器要求的认证插件版本与客户端不一致造成的。

由于我是最新的mysql和破解版的navicat,那么就是mysql太高级了。

解决方法有两个,我毫不犹豫的选择mysql降级....

装了个低版本的mysql,ok,能用。但是,我日常钻牛角尖。。。

查询mysql的认证插件
select user.plugin from mysql.user

 mysql 链接时报错:1251-Client does not support authentication protocol requested by server

可以看到root用户使用的plugin是caching_sha2_password,mysql官方网站有如下说明:

mysql 链接时报错:1251-Client does not support authentication protocol requested by server

 

然后低版本的root用户使用的plugin是mysql_native_password,而且明显mysql8也支持mysql_native_password,那么解决方法很简单啦

根据mysql官方的例子
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
也可以是update语句
update mysql.user set plugin='mysql_native_password' where user= 'root';

 

相关文章:

  • 2021-08-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-03
  • 2022-01-19
猜你喜欢
  • 2021-10-26
  • 2021-06-12
  • 2021-07-19
相关资源
相似解决方案