mysql忘记密码解决方案(亲测有效 2025.2.8)

8446 2025-10-21 23:56:47
前言 之前做一个课设项目时需要用到mysql,隔得太久远了,最近又在重温数据库的知识,想登录mysql,发现密码忘了。 经常一番探索,现在整理

前言

之前做一个课设项目时需要用到mysql,隔得太久远了,最近又在重温数据库的知识,想登录mysql,发现密码忘了。

经常一番探索,现在整理成文章,帮助各位避坑!

1 先关闭mysql服务

以管理员身份打开命令行窗口,这点很重要!!!不然会碰到权限不足的情况

在命令行输入

net stop mysql

命令关闭mysql服务。

2 以特殊权限启动 MySQL 服务

命令行窗口继续输入:

mysqld --console --skip-grant-tables --shared-memory

该选项的作用是让 MySQL 服务器在启动时不加载权限判断机制,这样任何用户都能无限制地访问数据库。这个命令一般是在 Windows 系统下,当你忘记 MySQL 密码,想要以调试模式启动服务器,同时又希望利用共享内存来优化本地通信时使用。不过再次强调,--skip-grant-tables 模式会带来安全隐患,操作完成后应及时恢复正常的权限验证机制!

当此命令运行后,会输出一大串信息,如下:

3 登录并修改密码

3.1登录数据库

以管理员身份打开另一个全新的命令行窗口(刚刚的那个不要关闭),输入

mysql

如果打印下面的信息,说明我们已经成功一半了!!!

3.2修改密码

alter user root@localhost identified by 'newpassword';

‘newpassword’里面写入你自己要设置的新密码,建议大家可以写简单的或者放入自己的备忘录里,不然以后又忘了!

输入命令后发现报错,这是因为权限表没有刷新,我们继续操作

3.3刷新权限表

修改完成后,必须执行

flush privileges;

并且重新设置一遍密码:

alter user root@localhost identified by 'newpassword';

这一步至关重要,它能使刚刚修改的密码以及相关权限设置生效,确保新密码能正常用于登录。

4 用新密码登录

4.1 先关闭刚刚第一个打开的命令行窗口,就是输出一长串信息的这个:

把这个命令行窗口关掉就行!

4.2 重启mysql服务

先输入:

quit

停止当前的mysql服务,如下图

接着输入:

net start mysql

这样子就你重启mysql服务啦!如下图:

最后一步就是验证我们刚刚修改的密码是否有效:

输入:

mysql -u root -p

然后敲入你刚刚修改的那个新密码,可以发现,成功登录mysql!!!大功告成耶!!!

文章制作不易,希望大家不吝啬发财小手给个一键三连!祝大家编程无BUG!!!

(过程中有任何问题可以打在评论区或者私信我)

五光十色打一生肖是什么|三亚哪些海滩值得去 三亚十大沙滩排名 三亚有名的沙滩→榜中榜