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. 输入以下内容(修改为新密码):

    sql 复制代码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword';
    • YourNewPassword 替换为您的新密码。

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

  1. 打开命令提示符(管理员权限):

    • Win + S → 输入 cmd → 右键选择 "以管理员身份运行"
  2. 运行以下命令(注意替换路径):

    bash 复制代码
    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服务(通过服务管理器或命令):

    bash 复制代码
    net start MySQL80

步骤5:验证新密码

  1. 使用新密码登录MySQL:

    bash 复制代码
    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权限的备用用户:

    sql 复制代码
    CREATE USER 'admin'@'localhost' IDENTIFIED BY 'Backup@123';
    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

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

相关推荐
vx Biye_Design2 小时前
SSM学生社团管理系统-计算机毕业设计源码75136
spring boot·sql·mysql·ajax·bootstrap·mybatis
love530love2 小时前
【笔记】解决部署国产AI Agent 开源项目 MiniMax-M1时 Hugging Face 模型下载缓存占满 C 盘问题:更改缓存位置全流程
开发语言·人工智能·windows·笔记·python·缓存·uv
飞翔的佩奇3 小时前
基于Spring+MyBatis+MySQL实现的监考安排与查询系统设计与实现(附源码+数据库)推荐!
java·数据库·mysql·spring·毕业设计·mybatis·监考安排与查询
昂子的博客3 小时前
Springboot仿抖音app开发之Nacos 分布式服务与配置中心(进阶)
java·spring boot·redis·后端·mysql·ip
忙什么果4 小时前
mysql中的<>和!=
数据库·mysql·leetcode
chilavert3184 小时前
技术演进中的开发沉思-9:window编程系列-内核对象线程同步(下)
windows
程序员的世界你不懂5 小时前
Windows下allure与jenkins的集成
windows·servlet·jenkins
忘梓.6 小时前
数据库从零开始:MySQL 中的 DDL 库操作详解【Linux版】
linux·数据库·mysql
方博士AI机器人6 小时前
GNU Octave 基础教程(4):变量与数据类型详解(二)
windows·ubuntu·数据分析·octave
guygg8812 小时前
Linux中的阻塞信号与信号原理
linux·mysql·apache