MySQL8忘记密码以及修改密码的处理
0、前言
在日常生活中,记住每个软件或者平台的密码总是一件难事。因此,找回密码或者重置密码的手段,还是有必要保留的。所以,我们展开讨论下关于 MySQL 8.x 这个数据库软件的重置密码手段。
在开始前,有人可能会说,数据库密码忘记了,用管理员账号重置即可。但是,有一种情况是比较特殊的,也是比较尴尬的,比如:root 管理员用户密码忘记了。下面,我们开始介绍如何重置 root 管理用户的密码。
1、在数据库配置文件(Linux下为 my.cnf ,windows下为 my.ini)添加配置参数,使 MySQL 不校验权限信息。然后重启数据库服务
skip-grant-tables

然后在命令行终端输入 mysql 命令。然后数据库客户端会直接跳入 控制台。
> mysql
2、查看当前认证方式以及用户,默认是 caching_sha2_password 认证
use mysql; -- 切换数据库 select host, user, authentication_string, plugin from user;

3、现在我们看到 root 用户的 host 是 % (这个看自己的数据库,不同人设置会有差异),authentication_string 密码信息是已加密的。
4、清空 root 用户的密码信息(不能直接修改密码,会报错。要先清空root密码)。
update user set authentication_string='' where user='root'; -- 清空密码 flush privileges; -- 刷新权限信息
5、输入 exit 退出 mysql 控制台。删除/etc/my.cnf文件里的 skip-grant-tables ,再一次重启 mysql 服务,再次登陆的时候是空密码登陆
mysql -u root -p (这里输入命令后,回车。空密码登录即可进入控制台)
6、登陆后即可修改密码了:
ALTER USER 'root'@'%' IDENTIFIED BY '123456'; -- 这里的root密码修改为 123456, -- 用户域信息 % ,需要根据你实际的信息填写。 flush privileges; -- 刷新权限信息
7、现在 root 用户可以用新密码登录了。