找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1186

积分

0

好友

210

主题
发表于 3 天前 | 查看: 8| 回复: 0

当忘记MySQL数据库的root用户密码时,你将无法正常登录并管理数据库。本文将详细介绍在Windows系统下,通过跳过密码验证表(--skip-grant-tables)的方式,强制登录并重置root密码的完整操作流程。

核心思路与准备工作

本方法的核心是启动一个特殊的MySQL服务进程,该进程在启动时跳过了权限验证环节,从而允许我们无需密码即可连接到数据库,进而执行密码修改命令。

在开始操作前,请确保:

  1. 你拥有操作系统的管理员权限。
  2. 已知MySQL的安装目录(例如 D:\tools\MySQL)。

详细操作步骤

步骤一:启动无密码验证的MySQL服务

首先,我们需要启动一个特殊的MySQL服务实例。

  1. 以管理员身份打开第一个命令行窗口。
  2. 使用 cd 命令切换至MySQL安装目录下的 bin 文件夹。

Windows下MySQL root密码重置完整指南:跳过验证表修改密码 - 图片 - 1

  1. 在bin目录下,执行以下关键命令。请注意,执行此步骤前,请确保所有正常的MySQL服务(如Windows服务中的MySQL)已停止运行。
mysqld --console --skip-grant-tables --shared-memory

Windows下MySQL root密码重置完整指南:跳过验证表修改密码 - 图片 - 2

此命令会以前台模式启动MySQL,并忽略权限表验证。命令窗口会输出启动日志,请保持此窗口开启,不要关闭。

步骤二:无密码连接MySQL并修改密码

上一步的服务启动后,我们即可无需密码进行连接。

  1. 保持第一个窗口不变,以管理员身份再打开一个新的命令行窗口
  2. 同样导航至MySQL的 bin 目录。
  3. 运行MySQL客户端连接命令。当提示输入密码(Enter password)时,直接按回车键,不输入任何内容。
mysql -u root -p

Windows下MySQL root密码重置完整指南:跳过验证表修改密码 - 图片 - 3

  1. 连接成功后,首先切换到 mysql 系统数据库,该库存储了用户权限信息。
use mysql;

Windows下MySQL root密码重置完整指南:跳过验证表修改密码 - 图片 - 4

  1. 为了确保权限立即生效,执行刷新权限命令。
flush privileges;

Windows下MySQL root密码重置完整指南:跳过验证表修改密码 - 图片 - 5

  1. 执行密码修改命令,将 ‘******’ 替换为你想要设置的新密码。
alter user 'root'@'localhost' identified by ‘******’;

Windows下MySQL root密码重置完整指南:跳过验证表修改密码 - 图片 - 6

  1. 密码修改完成后,退出MySQL客户端。
exit

Windows下MySQL root密码重置完整指南:跳过验证表修改密码 - 图片 - 7

步骤三:重启MySQL服务并验证

密码已重置,现在需要恢复到正常的MySQL服务模式。

  1. 返回到第一个命令行窗口(即运行 mysqld --console ... 的窗口),按 Ctrl + C 停止该特殊服务进程,然后关闭此窗口。
  2. 在第二个命令行窗口中,尝试启动你系统中原有的MySQL服务。服务名称可能因安装版本不同而异,例如 mysql95
net start mysql95

Windows下MySQL root密码重置完整指南:跳过验证表修改密码 - 图片 - 8

  1. 如果提示“服务名无效”,说明你输入的服务名称不正确。

Windows下MySQL root密码重置完整指南:跳过验证表修改密码 - 图片 - 9

这时,可以按 Win + R 键,输入 services.msc 打开系统服务管理器,在列表中找到准确的MySQL服务名称(例如 MySQL80, MySQL57 等)。

Windows下MySQL root密码重置完整指南:跳过验证表修改密码 - 图片 - 10

根据查到的服务名,重新执行启动命令,例如:

net start MySQL80

启动成功后,即可像常规的MySQL运维操作一样,使用新密码登录了。

  1. 最后,使用新密码登录MySQL,验证重置是否成功。
mysql -u root -p

Windows下MySQL root密码重置完整指南:跳过验证表修改密码 - 图片 - 11

输入你刚刚设置的新密码,若能成功进入MySQL命令行,则说明密码重置操作全部完成。




上一篇:Python requests库实现HTTP接口测试与mitmproxy响应拦截
下一篇:学术论文AI率过高?科学降AI与降重的最全方案
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-17 14:39 , Processed in 0.157101 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表