Windows 10系统中找回MySQL 8的root密码

以下是 在Windows 10系统中找回MySQL 8的root密码 的详细步骤:


步骤1:停止MySQL服务

  1. Win + R 输入 services.msc,打开「服务」管理器。
  2. 找到 MySQL80(或其他自定义服务名),右键选择 停止

步骤2:创建MySQL初始化文件

  1. 新建一个文本文件,命名为 mysql-init.txt,放在任意位置(如桌面)。
  2. 输入以下内容(修改为新密码):
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword';
    
    • YourNewPassword 替换为您的新密码。

步骤3:以跳过权限验证模式启动MySQL

  1. 打开命令提示符(管理员权限):
    • Win + S → 输入 cmd → 右键选择 “以管理员身份运行”
  2. 运行以下命令(注意替换路径):
    mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --init-file="C:\Users\YourUsername\Desktop\mysql-init.txt" --console --skip-grant-tables
    
    • 参数说明
      • --defaults-file: MySQL配置文件的路径(默认在 C:\ProgramData\MySQL\...)。
      • --init-file: 步骤2中创建的初始化脚本路径。
      • --skip-grant-tables: 跳过权限验证。

步骤4:强制关闭MySQL进程

  1. 如果命令行窗口卡住(无新输出),按 Ctrl + C 终止进程。
  2. 重新启动MySQL服务(通过服务管理器或命令):
    net start MySQL80
    

步骤5:验证新密码

  1. 使用新密码登录MySQL:
    mysql -u root -p
    
  2. 输入新密码,若显示 mysql> 提示符,则密码重置成功。

注意事项

  1. my.ini文件路径
    • MySQL 8默认配置文件路径为 C:\ProgramData\MySQL\MySQL Server 8.0\my.ini,如果修改过安装目录,需对应调整。
  2. 密码复杂度要求
    MySQL 8默认要求强密码(至少包含大小写字母、数字和特殊字符),例如 Root@1234
  3. 旧密码残留问题
    • 如果仍提示密码错误,重启系统后再尝试。
    • 删除MySQL临时文件(C:\ProgramData\MySQL\MySQL Server 8.0\Data\*.err)。

故障排查

问题现象解决方案
提示mysqld命令不存在切换至MySQL的bin目录执行命令(如 cd C:\Program Files\MySQL\MySQL Server 8.0\bin)。
配置文件路径错误检查my.ini是否存在,或通过MySQL安装目录下的my.ini指定路径。
启动时报权限不足确保始终使用管理员权限运行命令提示符。
初始化脚本未生效检查mysql-init.txt文件名与路径是否正确,确保无拼写错误。

预防措施

  1. 记录密码
    将密码存放在安全的密码管理工具(如1Password、Bitwarden)。
  2. 创建备用管理员账户
    登录后新建一个有SUPER权限的备用用户:
    CREATE USER 'admin'@'localhost' IDENTIFIED BY 'Backup@123';
    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    

通过以上步骤,您已成功重置MySQL 8的root密码。建议完成后立即测试关键数据库的访问权限,确保业务正常运行。

### 如何在 Windows 系统中重置 MySQL root 用户密码 #### 停止 MySQL 服务 为了安全起见,在更改密码之前应停止当前运行的 MySQL 服务。可以通过命令提示符执行 `net stop mysql` 来实现这一点[^1]。 #### 启动 MySQL 跳过权限表 接着,需要启动 MySQL 并跳过授权表验证以便能够访问数据库而无需提供现有凭证。这通常通过命令行参数完成: ```bash mysqld --shared-memory ``` 这条指令会绕过标准的身份验证流程,允许管理员直接进入系统并修改必要的设置[^4]。 #### 登录到 MySQL 控制台 此时应该能无阻碍地登录至 MySQL 客户端工具,因为身份验证已被暂时禁用。只需输入如下命令即可连接服务器: ```sql mysql -u root ``` #### 修改 root 密码 一旦成功进入了 MySQL shell,就可以更新用户的认证信息了。对于不同版本的 MySQL 可能会有略微不同的语法;这里给出适用于大多数情况的方法: 对于 MySQL 5.7 或更早版本: ```sql FLUSH PRIVILEGES; USE mysql; UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; EXIT; ``` 而对于 MySQL 8.0 版本及以上,则推荐使用以下语句来改变密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES; QUIT; ``` #### 重启 MySQL 服务 最后一步就是重新加载正常的 MySQL 进程配置,并启用完整的安全性措施。再次利用命令提示符中的 `net start mysql` 指令让服务恢复正常运作状态[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩公子的Linux大集市

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值