ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

navicat连接mysql,Client does not support authentication protocol requested by server;consider upgradin

2022-06-06 07:00:07  阅读:188  来源: 互联网

标签:requested protocol consider navicat 修改 user mysql password root


一、问题产生
在centOS 通过docker pull mysql下载mysql镜像并成功启动mysql容器。

当通过windows主机navicat连接虚拟的mysql时报如下错误。Client does not support authentication protocol requested by server; consider upgrading MySQL client

 

 

二、原因查找
通过查看网上别人遇到的相关问题,发现是由于navicat版本的问题,出现连接失败的原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。并提供了两种解决方案

1.升级navicat,由于navicat是收费的,个人感觉升级会比较麻烦点。

2.把用户密码登录的加密规则还原成mysql_native_password这种加密方式,本人选择第二种解决方案

三、问题解决
按照步骤

docker exec -it mysql bash 进入登录mysql

1.通过mysql -u root -p"123456" 进入mysql的命令行模式


2.输入命令修改相关机密方法

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;这里的password是你正在使用的密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';#更新一下用户的密码这里的password为你修改的新密码。

FLUSH PRIVILEGES; #刷新权限,使自己的修改生效。

这时还是连接不上,然后通过telnet3306数据库对应的接口,出现了8.0.11;caching_sha2_password这个信息,是修改没有生效还是其他原因?重启容器之后还是不行。

然后use mysql;


查询表中的相关信息 select user,host,plugin from user where user='root';

 

这时发现了问题,原理刚刚修改的是localhost,对于非本机的连接密码校验规则还是没有变。

alter user 'root'@'%' identified by 'password' password expire never;

alter user 'root'@'%' identified with mysql_native_password by 'why';//why是自己新修改的密码。root是用户,这个是修改密码的操作

flush privileges;再次刷新一下权限配置。

为了确定下,重新查一下,select user,host,plugin from user where user='root';


修改好了,再用宿主的window电脑访问数据库。

标签:requested,protocol,consider,navicat,修改,user,mysql,password,root
来源: https://www.cnblogs.com/minimeta/p/16345874.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有