Navicat连接报错1251
今天下载安装的MySQL8.0.29版本,然后用破解版的Navicat连接一直报错1251 Client does not support authentication protocol requested by server;consider upgrading MySQL client
翻译一下结果为:
1251客户端不支持服务器请求的认证协议,考虑升级MySQL客户端
报错原因
在网上查找原因发现是 mysql8 之前的版本中加密规则是mysql_native_password,而在 mysql8 之后,加密规则是caching_sha2_password
解决问题方法有两种,一种是升级 navicat 驱动;一种是把 mysql 用户登录密码加密规则还原成 mysql_native_password。由于用的是破解版的 navicat,所以只能用第二种方法解决了
解决流程
1.打开MySQL Command Line Client (看清楚不是cmd),发现有两个,两个都可以。
(发现窗口打不开闪退 解决:点击跳转)
打开之后按要求输入MySQL数据库的密码 回车,然后就进入数据库了
2.输入ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘mysql的密码’;
回车 别漏了后面有个分号 mysql的密码是安装mysql时设置的密码
3.最后在刷新一下数据库,输入FLUSH PRIVILEGES;
回车 别漏了后面的分号
出现了OK字样就不会报错了
也可以通过此方法修改mysql密码 比如我的mysql密码是111111我想改成123456
就是把填的mysql的密码改成123456
4.问题到这里就解决了,打开Navicat连接测试,连接成功!