游乐游手机版
首页/数据库/文章详情

Windows下MySQL密码忘记重置方法详解

时间:2026-06-10 07:02
当你忘记MySQL数据库密码时,在Windows命令行以管理员身份进行如下操作:先停止MySQL服务,再以--skip-grant-tables参数启动以跳过权限验证,免密登录后,根据MySQL版本执行相应命令:8 0及以上使用ALTERUSER语句,5 7及以下使用UPDATE语句,重置密码后重启服务即可。

忘记 MySQL 密码这事儿太常见了,几乎每个用过 MySQL 的人迟早都会碰上一次。先别急,问题不大——只要你能摸到本机的 Windows 桌面,通过跳过权限验证这一招,几分钟就能把密码改回来。

WindowsMySQL密码忘记了如何重置密码详解

1、停止 MySQL 服务

按下 Win + R,输入 cmd,然后右键选择“以管理员身份运行”——这一步千万别省,权限不够后面操作会吃瘪。在命令行里敲下这条命令,把正在运行的 MySQL 服务停下来:

net stop MySQL80

2、以“跳过权限”模式启动

还是在管理员命令提示符窗口,先切换到 MySQL 的 bin 目录。路径根据你安装的版本调整,下面以 MySQL 8.0 的默认路径为例:

cd "C:Program FilesMySQLMySQL Server 8.0bin"

然后执行这条命令,让 MySQL 以“不检查权限”的方式启动——说白了就是肉身翻跟斗,绕开密码验证:

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

执行后这个命令行窗口会一直卡住,别慌,它是正常在运行的。留着别关,下一步要用另一个窗口操作。

3、免密登录并重置密码

重新打开一个“管理员身份运行”的命令提示符窗口(同样要管理员权限)。再次切到 bin 目录:

cd "C:Program FilesMySQLMySQL Server 8.0bin"

现在直接登录,密码空着,回车:

mysql -u root

成功了的话,你就直接进到了 MySQL 命令行。接下来,根据你装的 MySQL 版本选下面的方法操作。注意每条 SQL 语句末尾必须带分号。

适用版本操作步骤与命令
MySQL 8.0+
(主流版本)
1. 先刷新权限(这步必须最先做):
FLUSH PRIVILEGES;
2. 修改密码(把 NewPassword123! 换成你自己的新密码):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';
MySQL 5.7
(旧版本)
1. 直接更新密码字段:
UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword123!') WHERE User='root';
2. 刷新权限:
FLUSH PRIVILEGES;

4、恢复正常服务

密码改好后,在 MySQL 命令行输入 exit 退出。然后回到刚才第二步那个一直卡着的窗口,按下 Ctrl + C 强制结束进程,或者直接关掉那个窗口也行。

再打开一个管理员命令提示符,把 MySQL 服务重新启动起来:

net start MySQL80

好了,现在用新密码测试登录:

mysql -u root -p

输入密码,顺利进入,大功告成。

总结

整个过程就四步:停服务 → 跳过权限启动 → 免密登录改密码 → 重启服务。原理很简单,利用 --skip-grant-tables 参数临时跳过权限验证,改完后再恢复正常模式。注意版本差异,MySQL 8.0 以后必须用 ALTER USER 语法,5.7 及以前用 UPDATE 改密码字段。别搞混了就行。

来源:https://www.jb51.net/database/365419geh.htm
上一篇MySQL数据库故障处理全流程总结与最佳实践指南 下一篇MySQL数据库容量实用查询方法(含表数据与磁盘占用统计)
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
金仓数据库逻辑备份实战:全库导出与模式替换全流程
数据库 · 2026-07-03

金仓数据库逻辑备份实战:全库导出与模式替换全流程

在长期的运维实践中,我越来越体会到,备份就像一份保险——平时看似无用,但关键时刻却是唯一的救命稻草。逻辑备份看似简单,可真正执行恢复时,各种陷阱接连浮现:表名大小写不一致、Schema 未正确切换、Owner 属性未同步修改……任何一个环节处理不当,最终恢复出的数据库就会与预期相去甚远。 本文将深入

金仓数据库sys_rman物理备份全流程演练与误覆盖恢复
数据库 · 2026-07-03

金仓数据库sys_rman物理备份全流程演练与误覆盖恢复

干运维这行,逻辑备份和物理备份我都接触过,但说句实在话,真正能在生产环境里扛住事儿的,还得是物理备份。逻辑备份导出的是 SQL 语句,数据量一大,那速度慢得让人抓狂,而且最关键的是,它没法做时间点恢复。物理备份不一样,它直接拷贝数据文件,再配上 WAL 归档日志,想恢复到过去哪一秒都行,这是它最硬核

Windows下将MySQL注册为系统自启服务教程
数据库 · 2026-07-03

Windows下将MySQL注册为系统自启服务教程

先说一个关键前提:务必以管理员身份运行终端,否则 mysqld --install 这条命令几乎不可能成功。问题不在于命令写错,而是 Windows 系统的用户账户控制(UAC)机制会在中途拦截——在普通 CMD 或 PowerShell 窗口执行这条命令,要么直接提示 Access is deni

Mac版Navicat中快速对比两个数据库的表结构异同
数据库 · 2026-07-03

Mac版Navicat中快速对比两个数据库的表结构异同

直接说结论:Mac 版 Navicat 和 Windows 版在表结构比对逻辑上完全一致。但默认配置下,它确实无法承受“全库一键比对上万张表”的压力。要想避免卡死、内存溢出、进度条永远停在 0%,你必须手动将表分批处理,或者利用前缀过滤来控制扫描范围。 为什么 Mac 上点击「结构同步」后界面会卡住

MySQL中UNION操作推荐用UNION ALL的原因
数据库 · 2026-07-03

MySQL中UNION操作推荐用UNION ALL的原因

MySQL中UNION与UNION ALL性能对比:别再被“保险”迷惑,差距远超预期 先给出核心结论:UNION ALL 的性能通常比 UNION 高出不止一个数量级。原因在于,UNION 在合并结果集后会自动触发去重操作,这往往伴随着隐式排序,进而产生临时表和文件排序。而 UNION ALL 则直