Windows MySQL_8.4.0 Navicat报错代码1251不支持认证协议解决方案

44 篇文章 2 订阅
31 篇文章 0 订阅

Windows MySQL_8.4.0 Navicat报错代码1251不支持认证协议解决方案

在这里插入图片描述

前言:

Navicat for MySQL 是管理和开发 MySQL 或 MariaDB 的理想解决方案。它是一套单一的应用程序,能同时连接 MySQL 和 MariaDB 数据库,并与 OceanBase 数据库及 Amazon RDS、Amazon Aurora、Oracle Cloud、Microsoft Azure、阿里云、腾讯云和华为云等云数据库兼容。这套全面的前端工具为数据库管理、开发和维护提供了一款直观而强大的图形界面。

环境:

1、Windows server 2016 —192.168.10.130
2、mysql-8.4.0-winx64.msi
3、Navicat_for_MySQL_10.1.7
4、Navicat_for_MySQL_12.0.29

问题描述:

1)此次我们部署的是mysql8.4,完成后添加变量可以正常通过自带客户端以及cmd进入数据库
2)之前部署的是5.7版本,对接Navicat_10.1.7,测试本地连接提示报错:1251 - Client does not support authentication protocol requested by server;consider upgrading MySQL client.
3)客户端不支持服务器请求的认证协议,建议升级mysql客户端,如下图

在这里插入图片描述
在这里插入图片描述

查看问题思路:

1、按报错提示可以升级Navicat12以及更高版本
2、MySQL8以上版本加密类型改变造成:
# mysql8之前版本加密规则是mysql_native_password,mysql8之后版本加密规则是caching_sha2_password
# 将mysql用户登录密码加密规则还原成mysql_native_password
mysql -uroot -p
mysql> use mysql
mysql> select host,user,plugin from user;

在这里插入图片描述

解决方案:

一、将Navicat10升级到Navicat_for_MySQL_12,完美解决。

在这里插入图片描述
在这里插入图片描述

二、mysql8版本的加密方式不同,所以将mysql用户登录密码加密规则还原成以前版本的mysql_native_password

在这里插入图片描述

# 使用命令行进入数据库
mysql -uroot -p
# 进入数据库 mysql
mysql> use mysql
# 将root用户加密方式修改为mysql_native_password并将数据库密码改为“123456”

参考命令:
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 
# ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
# 'localhost'可以是'localhost'也可以通配符'%'允许所有
alter user 'root'@'%' identified by '123456' password expire never; 
alter user 'root'@'%' identified with mysql_native_password by '123456'; 
# 刷新缓存
flush privileges; 
# 再次查询用户信息,若是plugin该值为mysql_native_password,证明已经修改成功
mysql> select host,user,plugin from user;
# 返回Navicat老版本中连接mysql
# 连接成功

在这里插入图片描述

以上感谢,搬砖无止境…

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蚊子不吸吸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值