麟の随笔

  • 游戏
  • 影视
  • Tech
  1. 首页
  2. 科技
  3. SQL
  4. 正文

Navicat 连接MySQL数据库发生1521错误

2023年4月28日 1148点热度 0人点赞 0条评论

问题

当通过windows主机navicat连接虚拟的mysql时报如下错误。

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

file

原因

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

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

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

解决方案

1、通过ysql -u root -p"123456" 入mysql的命令行模式
2、输入命令修改相关机密方法

这里的password是你正在使用的密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

新一下用户的密码这里的password为你修改的新密码。

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

刷新权限,使自己的修改生效。

FLUSH PRIVILEGES;

3、若此时重试仍未解决问题,继续以下步骤

查询表中的相关信息

select user,host,plugin from user where user='root';

file

这时发现了问题,原理刚刚修改的是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';

file

标签: 暂无
最后更新:2023年4月28日

晓虎

必须有人浴血奋战,世上才有自由可言!

点赞
< 上一篇
下一篇 >
文章目录
  • 问题
  • 原因
  • 解决方案

COPYRIGHT © 2024 kirinz.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

闽ICP备19013981号