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

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

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

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

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

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

 

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

然后低版本的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';

猜你喜欢

转载自www.cnblogs.com/ydymz/p/9595332.html