目录
- 一、mysql8忘记密码的解决方法
- [2、2059 - authentication plugin...错误解决方法](#2、2059 - authentication plugin...错误解决方法)
一、mysql8忘记密码的解决方法
1.管理员身份打开cmd,进入dos
2.停止mysql服务
- 命令:net stop mysql

3.无密码启动
- 命令:mysqld --console --skip-grant-tables --shared-memory

4.另启一个dos窗口,无密码登录
- 命令:mysql -u root

5.清空密码
-
命令:update mysql.user set authentication_string='' where user='root' and host='localhost';
-
注意:authentication_string采用的是plugin加密方式,故设置为空,不要设置为其他值

6.启动服务
关闭打开的两个dos窗口,然后以管理员身份重新打开一个dos窗口,启动服务
命令:net start mysql

7.无密码登录
命令:mysql -u root

8.重新设置密码
修改后,就可以用新密码登录了。
- 命令:alter user root@localhost identified by 'root';

9.退出mysql服务
- 命令:quit;

10.用修改后的用户名密码登陆
- 命令:mysql -u root -proot

转载:https://www.shuzhiduo.com/A/D854EkoVdE/
2、2059 - authentication plugin...错误解决方法
Navicat 连接MySQL数据库出现错误:2059 - authentication plugin 'caching_sha2_password'的解决方法。
错误原因:MySQL新版本(8以上版本)的用户登录账户加密方式是【caching_sha2_password】,Navicat不支持这种用户登录账户加密方式。
解决方案:
工具/原料
演示系统:Windows 10 家庭中文版 64位
演示软件:MySQL 8.0.18 64位
Navicat Premium 12
方法/步骤
首先我们需要打开MySQL 命令行客户端,如图所示,点击【MySQL 8.0 command line client】;

然后输入自己安装MySQL时设置的密码,登录客户端,如图所示,表示登录成功;

接下来,我们先查看一下加密的方式,
输入:show variables like 'default_authentication_plugin';
回车,如图所示;

接下来,查看本地mysql用户的信息,
输入:select host,user,plugin from mysql.user;
回车,如图所示,可以看到root账户的加密方式是caching_sha2_password;

但是Navicat不支持MySQL新版本的这种用户登录账户加密方式,所以下面我们要修改root账户的加密方式为【mysql_native_password】,如图所示,输入:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
回车,即可修改成功,注意这里最后的root是你设置的root账户的密码,我设置的是"root"。

最后,我们再重新打开Navicat连接MySQL,就可以成功用root账户连接了,如图所示。

7
总计:
1、打开MySQL 命令行客户端;
2、输入自己安装MySQL时设置的密码,登录客户端;
3、查看一下加密的方式;
4、查看本地mysql用户的信息;
5、修改root账户的加密方式为【mysql_native_password】;
6、重新打开Navicat连接MySQL即可。
转载:https://jingyan.baidu.com/article/0aa22375e7966ac8cc0d64b3.html