当前位置: 首页 > news >正文

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密码。建议完成后立即测试关键数据库的访问权限,确保业务正常运行。

http://www.dtcms.com/a/163761.html

相关文章:

  • 智能电子白板的设计与实现:从硬件选型到软件编程
  • python初学
  • 基于Spring Boot 电商书城平台系统设计与实现(源码+文档+部署讲解)
  • python celery框架结合django的使用
  • 深度剖析 RocketMQ 5.0 之架构解析:云原生架构如何支撑多元化场景?
  • 浅析通用文字识别技术在档案管理中的未来发展趋势
  • MySQL学习总结
  • 【2024-NIPS-版权】Evaluating Copyright Takedown Methods for Language Models
  • 使用Qt QAxObject解决Visual Fox Pro数据库乱码问题
  • 马井堂-区块链技术:架构创新、产业变革与治理挑战(马井堂)
  • 代码随想录第39天|leetcode198.打家劫舍、leetcode213.打家劫舍II 、leetcode337.打家劫舍III
  • JVM GC垃圾回收算法
  • 基于Vue3和OpenLayers的WebGIS示例程序
  • 0429/AIGC model mark Blog
  • 【Linux系统篇】:线程的本质---重新定义并发执行单元
  • 借助Spring AI实现智能体代理模式:从理论到实践
  • 系统思考培训助力总经理
  • 音视频之H.265/HEVC网络适配层
  • C++学习之shell高级和正则表达式
  • 3D可视化编辑器模版
  • flask中的Response 如何使用?
  • Android ndk 编译opencv后部分接口std::__ndk1与项目std::__1不匹配
  • 4.27搭建用户界面
  • 前端vue2修改echarts字体为思源黑体-避免侵权-可以更换为任意字体统一管理
  • 天能资管(SkyAi):全球布局,领航资管新纪元
  • 线程数据同步的三种方式
  • Ansible 守护 Windows 安全(Ansible Safeguards Windows Security)
  • 大数据测试集群环境部署
  • Java实现使用EasyExcel按模板导出文件
  • 论文笔记-多智能体任务分配:动态智能空间中的拍卖与抢占机制