Mysql8.0版本忘记密码(已解决)

今天心血来潮,想复习一下数据库知识,奈何却发现因荒弃太久,连数据库登录密码都搞忘记了,又嫌重装太麻烦,就毅然踏上了手动解决的不归路。
一开始搜了很多解决方法,有用mysqld --skip-grant-tables,有修改my.ini文件的,但统统无效!弄了整整一个下午,搞得我一个头两个大。就在我心灰意冷,准备放弃的时候,突然灵光一现,有可能是版本问题!因为之前搜索的关键词是“mysql忘记密码”,并没有带版本,所以得到的结果多半是5.7版本的。意识到这一点后,我把搜索关键词改为mysql8.0忘记密码,果然立竿见影,药到病除。现在带着愉悦的心情将此过程完整记录下来,以防日后再忘。

1. 关闭mysql服务

Mysql8.0版本忘记密码(已解决)
Mysql8.0版本忘记密码(已解决)

2. 以管理员模式打开命令提示符,并转到mysql/bin目录下

Mysql8.0版本忘记密码(已解决)
Mysql8.0版本忘记密码(已解决)

3. 命令行终端输入mysqld --shared-memory --skip-grant-tables

Mysql8.0版本忘记密码(已解决)
此时程序阻塞,光标会一直闪烁。

4. 新打开一个命令行终端,转到mysql/bin目录下,输入mysql

Mysql8.0版本忘记密码(已解决)

5.刷新权限: FLUSH PRIVILEGES;

Mysql8.0版本忘记密码(已解决)

6. 修改密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

Mysql8.0版本忘记密码(已解决)

7. 关闭所有命令行终端,重启服务

Mysql8.0版本忘记密码(已解决)

8. 打开命令行终端,使用新密码登录数据库

Mysql8.0版本忘记密码(已解决)
登录成功!以后妈妈再也不担心我忘记密码啦!