解决:navicat for mysql连接失败[通俗易懂]

解决:navicat for mysql连接失败[通俗易懂]1、问题描述:在navicatformysql连接mysql8.0.23时,出现如下错误。2、原因:通过百度翻译,发现是由于navicat版本的问题,出现连接失败的原因。这也就是说需要升级navicat版本。通过搜索,发现navicat是收费的,升级将会面临其他不可控的问题。于是需要寻找其他方法。通过查阅资料以及他人的经历分享。我得知了:mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1、问题描述:
在navicat for mysql 连接mysql 8.0.23时,出现如下错误。
在这里插入图片描述
2、原因:
通过百度翻译,发现是由于navicat版本的问题,出现连接失败的原因。这也就是说需要升级navicat版本。通过搜索,发现navicat是收费的,升级将会面临其他不可控的问题。
于是需要寻找其他方法。通过查阅资料以及他人的经历分享。我得知了:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
也就是说,如果navicat不能升级,那么把“mysql”“降级”试试?因此,从新知入手,将mysql8的加密规则修改为mysql8之前的规则。
3、解决:
(1)输入命令查看用户信息:
select host,user,plugin,authentication_string from mysql.user;
在这里插入图片描述

由上图可以发现:root用户对应的plugin是:caching_sha2_password。
(2)输入命令修改root的加密规则:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
同时更新一下navicat连接mysql用户的密码: root用户密码为:“新密码”。
其中@后面的‘localhost’是root用户对应的host名,如下图中黄色圈出部分:
在这里插入图片描述
(3)再次查看用户信息:
在这里插入图片描述
由上图可以发现:root用户对应的plugin已经改为:mysql_native_password。
4、再次连接:
打开navicat for mysql 建立连接,密码输入第3、(2)步骤的“新密码”,连接成功:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182188.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号