MYSQL与Navicat的连接错误问题

唱,跳,RAP,Basketball

MySQL版本安装 遇到的一个坑(密码加密规则被修改导致Navicat连接不上)
众所周知,老师的一些任务,往往做起来不是很困难,只要按着步骤就可以,但是在程序的安装和配置方面总会出现一些稀奇古怪的问题
比如:

2059 - Authentication plugin 'caching_sha2_password' cannot be loaded

在此刻我的内心是极度崩溃的,因为在之前安装MySQL的时候就出现了大问题,我把MySQL的测试软件下载了,应用程序没有下载。。。

搞毛啊,什么所谓的MySQL8.0.11版本启用了新特性,用户登录加密规则改为了caching_sha2_password,原有的不支持新特性。想使用caching_sha2_password新特性的话,需要更新一下驱动。

果然还是前人喝汤后人遭殃啊,但是任务加身怎么说也得硬着头皮上了,在查了一系列的资料后,发现了很多新天地

look,看这一串代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

还有这一串
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
这可是核心中的核心呢。。。。

上面的两行代码是修改密码的关键,当然如果你不设密码也可以,浪得飞起自然(。・∀・)ノ゙嗨

开始开始i,我们先进入管理员命令行进行net start mysql的操作

在其间可能会遇到一些问题,比如说mysql不是内部或者外部命令
这是因为没有配置环境的缘故,和java差不多的方式,大家上网找下就可以了!

然后输入mysql -u root -p
则会发现让你输入password
没关系,没设置的话直接回车就可以了!

然后输入use mysql,得到Database changed,之后再次输入select host, user, authentication_string, plugin from user;
可以看到左边一栏是localhost
这是默认的名称
然后输入GRANT ALL ON *.* TO 'root'@'%';
其实在这里我也遇到了一样的问题
MYSQL You are not allowed to create a user with GRANT
网上重启电脑了,我就直接跳过去了反正这个是一个莫名地测试,不影响接下来的操作
在命令行中输入上述的两行代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

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

少年你会得到这样的情况:
Query OK, 0 rows affected (0.10 sec)

嗯,我觉得还可以,刷新下权限FLUSH PRIVILEGES;

然后那个什么鬼东西就没了,连接成功。

这个解决方式主要是将他的新型加密方式改回了书上5.7版本的加密方式,使得“没有跟上版本的”Navicat能够有了喘息的机会,然而我个人是“极度鄙视”这种“不思进取”程序的,犹豫就会败北,你还不去更新支持这种加密方式的数据库,还在搞什么飞机啊。。。。

困扰了很久的问题得到了解决,总算松了口气。

提供一下我参考的教程:

MySQL 8.0.11 版本安装 遇到的一个坑(密码加密规则被修改导致Navicat连接不上)
win10在计算机中找不到mysql服务
MySQL连接2059错误,修改加密规则

原文地址:https://www.cnblogs.com/ldc175206/p/10808779.html