mysql使用navicat远程连接时报错1251

不知道是咋了,昨天是mysql链接不上去,重装了mysql,今天又是navicat链接不上去了。报错1045,在网上找了许多方法都不行,然后我又重新安装了一遍mysql,结构还是不能登录,这次又报错1251,所以我又去查为什么报错1251,下面是我找到的方法,亲测有效!

报错:

1251 - client does not support authentication protocol requested by server;consider upgrading MySQL client

解决方法:

根据报错的字面意思:客户端不支持服务器请求的身份验证协议,可考虑升级MySQL客户端。

问题就出在用户密码上.

经查询:MySQL8.0.4以前的版本和MySQL8.0.4及以后的版本,密码认证插件有所改变,之前使用的是“mysql_native_password”,8.0.4及以后使用的是“caching_sha2_password”,

所以在修改密码的语句上,也有所不同,以前修改密码语句:

SET PASSWORD=PASSWORD('newpassword')

而现在的修改密码的语句:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';

 所以,我们可以把密码认证插件改为“mysql_native_password”,同时修改密码。

-- 命令提示符窗口登录mysql
mysql -u root -p

-- 查看用户相关信息:
/*

user: 用户名
host:允许连接的主机,%表示所有主机都可以连接
plugin:密码认证插件
authentication_string :密码,加密处理了的
*/

select host,user,plugin,authentication_string from mysql.user;

-- 修改密码认证插件为mysql_native_password,同时修改密码:我这里修改密码为root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

修改前:

 

修改后:

 

 再次使用navicat链接测试,显示连接成功!!!

Reference:MySQL使用Navicat远程连接时报错1251 - 落泪秋 - 博客园 (cnblogs.com)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值