MySQL 8 重置 root 密码完整图文指南(Windows)

沈亦白
沈亦白
发布时间:2026-10-15 | 2人浏览过
原创

忘记MySQL 8的超级管理员root密码无法登录时,标准解决方法是绕过权限认证模块。本文将演示在Windows环境下,如何通过命令行停止MySQL服务、以安全模式启动并直接修改用户表,最终重置密码的完整操作步骤。

Windows环境下的安装路径说明

在进行操作前,需确认本机MySQL的关键文件位置。默认情况下,MySQL主程序位于Program Files目录下,而包含数据文件和启动配置my.ini的目录通常在ProgramData中,该文件夹默认为隐藏状态,需在查看选项中开启显示。

重置 root 账户密码操作步骤

第1步:以管理员方式启动 CMD

后续操作涉及系统服务的启停和底层进程管理,必须获取管理员权限。Win+S搜索“cmd”,右键选择“以管理员身份运行”即可进入黑窗口界面。

第2步:停止 MySQL 服务

输入命令net stop mysql(若服务名非mysql请替换为实际名称)停止正在运行的数据库实例,确保当前无独占连接。注意:执行此命令后MySQL将暂时不可用。

net stop mysql

第3步:打开 MySQL bin 目录

在资源管理器地址栏中输入cmd回车,直接进入存放MySQL执行文件的bin目录,避免后续手动切换盘符。

第4步:跳过权限验证启动 MySQL

这是核心步骤。通过附加--skip-grant-tables和--shared-memory参数重新启动服务,使数据库在读取权限表前放行所有连接。

mysqld --defaults-file="C:ProgramDataMySQLMySQL Server 8.0my.ini" --console --skip-grant-tables --shared-memory

注:请根据实际安装路径修改--defaults-file后的ini文件地址。

第5步:再次打开新的管理员 CMD

切勿关闭上一步的黑框(它正在后台运行)**,重新复制一个管理员CMD窗口用于执行修改指令。

第6步:无密进入 MySQL 控制台

由于跳过了权限校验,此时可直接使用空口令登录数据库。

mysql

第7步:切换到 mysql 元数据库

用户账号信息存储在系统内置的数据库中。

use mysql;

第8步:尝试修改 root 密码

输入以下SQL语句设置新密码。由于尚未刷新缓存,首次执行可能报错或无效。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

第9步:刷新系统权限表

强制MySQL重新加载内存中的授权表,激活刚才的操作。

flush privileges;

第10步:确认密码修改生效

再次执行ALTER USER语句,确认此次可正确完成密码设定。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

第11步:退出当前 MySQL 会话

输入以下命令断开连接:

exit

第12步:正常重启 MySQL 服务

回到第一个CMD窗口(按住Ctrl+C结束那个后台进程),并在新的常规CMD窗口中启动官方服务。

net start mysql

第13步:进入 bin 目录验证

切换至MySQL的可执行文件目录准备测试登录。

cd C:Program FilesMySQLMySQL Server 8.0in

第14步:使用新密码登录测试

输入mysql -uroot -p,提示输入密码时键入刚才设定的NewPassword,若成功进入即表示重置完成。

mysql -uroot -p

注意事项与总结

该方法主要适用于 MySQL 8.x 及 5.7.x 版本。对于更早的版本(如 MySQL 5.6 及以下),由于其存储用户密码信息的架构不同(通常需更新password字段而非调用ALTER USER),本流程不适用。

操作过程中务必留意修改my.ini的路径参数与实际安装路径保持一致。以上就是MySQL 8重置root账户密码的详细图文教程,更多关于MySQL运维优化的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表