client does not support consider.....upgading MYSQL client问题解决


MySQL是安装在虚拟机的,版本是8.0.22,本机使用SQLYog连接时,提示如下报错:
在这里插入图片描述
网上翻了一遍资料查看,都说执行以下两条命令都可以解决:

 alter user 'root'@'localhost' identified with mysql_native_password by '123456';
 flush privileges;

但修改之后发现还是不行。以下是自行摸索得到的解决步骤:

一、报错的原因

因为MySQL8.0以上版本使用的密码加密方式发生了改变,使用的是caching_sha2_password,而SQLYog客户端使用的还是mysql_native_password加密方式连接。可以通过查看user表可以知道:

select user,plugin from mysql.user;
二、修改root加密方式为mysql_native_password:
alter user 'root'@'localhost' identified with mysql_native_password by 'root';
flush privileges;
三、发现没生效,查看root用户有两条记录:
select user,plugin,host from mysql.user;

在这里插入图片描述

其中,host为%表示,表示的远程登录,并且是除服务器外的其他任何终端;
host为%表示localhost,表示可以在本地登录,即可以在服务器上登陆

而我使用的是windows的SQLYog连接虚拟机的Mysql,使用的root应该是host为%的root。而这个root的plugin还是caching_sha2_password,所以才导致了第二步并没有生效。

四、修改root@%的加密方式
mysql> alter user 'root'@'localhost' identified with caching_sha2_password by 'root';
Query OK, 0 rows affected (0.00 sec)
mysql> 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
五、查看user表是否修改成功:

在这里插入图片描述

六、测试连接

在这里插入图片描述
终于连上了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值