MySQL8.0.20本地数据库忘记root密码

MySQL8.0.20本地数据库忘记root密码

  • 前言
  • 使用--init-file参数解决
    • 关闭MySQL服务
    • 把root密码设成空值
    • 重新登录
  • 使用mysqld解决
    • 关闭MySQL服务
    • 跳过Mysql密码验证
    • 更改自己的登陆密码
  • 注意事项
  • 参考

主要介绍了MySQL8.0.20忘记root密码后重置密码的办法,Windows 10 系统

前言

自己在本地建了个数据库,root重新设置的时候密码比较复杂,忘记保存了。本来Navicat记住了连接密码,在测试密码的时候不小心点了回车,导致原来记住的密码被删除了。

网上建议的方法是以–skip-grant-tables参数启动mysql服务,该参数指示在启动时不加载授权表,因此启动成功后root用户可以空密码登陆。(但不适用MySQL8.0版本)

但实测无法成功,而且测试了该参数放在ini文件里面也同样无法启动。

使用–init-file参数解决

关闭MySQL服务

方法一:
1、找到“服务”应用:桌面菜单栏-查找“放大镜”-输入“服务”-点击“服务”应用
MySQL8.0.20本地数据库忘记root密码_第1张图片
2、禁用MySQL服务:在“服务”应用里找到MySQL-右键“停用”
MySQL8.0.20本地数据库忘记root密码_第2张图片
方法二:
1、用管理员的身份打开cmd:一般在C盘的Windows\System32路径里面。

2、右键点击cmd.exe,选择“以管理员的身份运行”,启动cmd
MySQL8.0.20本地数据库忘记root密码_第3张图片
3、在命令行中输入cd..退回到C:\Windows
进入MySQL安装路径bin文件夹下的路径:cd C:\Program Files\MySQL\bin(根据自己实际环境输入路径)

4、再输入:net stop mysql停用服务

把root密码设成空值

1、在桌面创建一个txt文档,里面输入:
ALTER USER 'root'@'localhost' IDENTIFIED BY '';然后保存,并且记住这个路径(比如:C:\Users\aaa\Desktop\c.txt)。

2、用管理员身份打开cmd,并且找到MySQL安装路径bin文件夹下的路径,输入以下命令并回车执行():
mysqld --init-file=C:\Users\aaa\Desktop\c.txt --console
3、然后出现类似下图内容,光标无法输入新内容:MySQL8.0.20本地数据库忘记root密码_第4张图片

重新登录

1、重新再打开一个cmd,输入mysql.exe -u root以空密码登入系统(因为上文txt文档里面是设置成空密码),然后成功登陆数据库。

2、可以再次用sql修改root密码:
UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';

3、记得把MySQL服务再开启,用Navicat等办法重新连接数据库。

使用mysqld解决

关闭MySQL服务

步骤同上。

跳过Mysql密码验证

1、在MySQL安装目录,c:\Program Flies\MySQL\bin里输入 mysqld --console --skip-grant-tables --shared-memory得到运行的一段内容后,不要关闭这个cmd。

2、无密码方式进入Mysql
再打开一个管理员模式运行的cmd,进入mysql下的bin目录后,直接登录mysql。输入mysql -u root -p此时会显示让你输入密码,直接回车,就可以成功连接Mysql。

3、将登陆密码设置为空
输入代码,将密码设置为空(此时还不能直接修改密码,必须先设置为空,否则会报错):
use mysql;
update user set authentication_string='' where user='root';
quit;

更改自己的登陆密码

1、再打开一个cmd,用刚刚修改好的空密码登录mysql -u root -p
2、更改新密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
3、quit;退出MySQL
4、关闭掉所有的界面,用navicat拿新密码测试连接。

注意事项

1、密码先改空登入数据库后,再修改密码。
2、牢记root密码别再忘了。

参考

MySQL8下忘记密码后重置密码的办法(MySQL老方法不灵了)| 作者:未知
Mysql8.0以上重置初始密码的方法 | 作者:Jplusztx

你可能感兴趣的:(MySQL)