MySQL8.0的忘记密码的处理方法
前言
本人为在校学生,在学习MySQL过程中经常处理一些小问题,关于忘记MySQL密码的问题解决方式让我觉得有必要详细记录一下,因此写下这篇博客同时也是防止以后忘记
部分步骤重在说明,实际流程其实很简洁,跟着操作走即可。
流程目录
- 1. 首先关闭MySQL服务
- 2.使用管理员权限打开DOS命令窗口
- 3.找到mysql安装目录下的bin文件夹
- 4.在控制台窗口中进入mysql的bin文件夹下
- 5.1,进入该路径文件
- 5.2,以上条件满足之后在控制台中输入mysqld --shared-memory --skip-grant-tables
- 6.以上步骤完成后再打开一个命令窗口
- 7.进入mysql后首先要进行权限刷新
- 8.权限刷新成功后随即进行密码更改操作
- 9.关闭命令端重启服务,之后便可以正常使用了
1. 首先关闭MySQL服务
(这是必须要关的,否则后面操作无法生效)
打开“服务”功能,然后在里面找到如上图所示,并把相应的服务关闭
8.0版本的MySQL就把将这个MySQL80关掉
如果还有其他版本的sql服务,那就全部关闭
2.使用管理员权限打开DOS命令窗口
按win键输入cmd,打开命令行窗口时必须要管理员身份运行
3.找到mysql安装目录下的bin文件夹
参考我的文件路径(这个是win10 系统下的8.0版本默认的安装路径)C:\Program Files\MySQL\MySQL Server 8.0\bin
4.在控制台窗口中进入mysql的bin文件夹下
在控制台输入 cd 空格 路径
参考 cd C:\Program Files\MySQL\MySQL Server 8.0\bin
5.1,进入该路径文件
(重点操作,看完这点再执行)
运行该命令之前必须要确认在MySQL Server文件夹中存在一个data文件夹(如果有data文件夹则不用运行这串命令),如果没有则先运行这个命令mysqld --initialize-insecure --user=mysql
mysqld --initialize-insecure --user=mysql
等待命令执行片刻后便在MySQL Server目录下生成了一个data文件
如果没有这个文件,下面的命令会报错,所以必须要确定这个文件是否存在;
5.2,以上条件满足之后在控制台中输入mysqld --shared-memory --skip-grant-tables
mysqld --shared-memory --skip-grant-tables
运行后光标会滞停在第二行,而且窗口标题栏会显示出正在生效的命令,这个代表命令生效了,这个窗口不要关闭,放那里不用管就行了。
6.以上步骤完成后再打开一个命令窗口
在新的命令窗口进入mysql的bin目录下(cd空格路径,和前面进入bin目录操作一样)
然后在新窗口内输入mysql,将跳过密码输入部分,直接进入数据库里面(如果提示输入密码直接回车即可进入数据库内)
如图所示
7.进入mysql后首先要进行权限刷新
执行这串命令即可刷新权限
粘贴的不行的话就参考图中手敲下来
FLUSH PRIVILEGES;
8.权限刷新成功后随即进行密码更改操作
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
这段代码在MySQL里面运行
作用为将root用户的密码设置为123456
根据评论中大佬的建议,如果上面密码更改操作出错,就试一下这个
alter user 'root'@'localhost' IDENTIFIED BY '新密码';
9.关闭命令端重启服务,之后便可以正常使用了