MySQL密码忘记了5分钟快速找回全攻略(附详细图解)

 更新时间:2026年01月29日 08:53:24   作者:golfscript  
这篇文章主要介绍了MySQL密码忘记了5分钟快速找回的相关资料,适用于Windows和Mac系统,通过跳过权限验证进入无密码模式,然后修改root密码并恢复权限验证,需要的朋友可以参考下

问题场景

"啊糟糕!我的MySQL root密码是多少来着?"相信很多开发者都经历过这种抓狂时刻(特别是刚接触数据库的新手)。当我们遇到以下情况时:

  1. 安装时设置的密码怎么输都不对
  2. 突然发现密码本上的记录不见了
  3. 接手老项目时前任没留密码
  4. 安全策略强制修改后忘记新密码

别慌!今天教大家两种超实用的密码重置方案,Windows和Mac系统通用,实测最快3分钟搞定!

解决思路(超级重要)

通过跳过MySQL的权限验证 → 进入无密码模式 → 修改root密码 → 恢复权限验证。整个过程就像给数据库做了一次"心脏起搏"!

原理示意图:

停止MySQL服务 → 启动跳过权限验证模式 → 修改密码 → 重启正常服务

Windows系统操作步骤

步骤1:停止MySQL服务

# 管理员模式运行CMD
net stop mysql
# 如果提示服务不存在,可能是服务名不同,尝试:
net stop mysql80

步骤2:创建临时启动配置

新建my.ini文件(建议放在C:\ProgramData\MySQL\MySQL Server 8.0),添加:

[mysqld]
skip-grant-tables

步骤3:启动无密码模式

mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console

步骤4:修改root密码

保持服务运行,新开CMD窗口:

mysql -u root
# 刷新权限
FLUSH PRIVILEGES;
# 修改密码(MySQL 5.7+)
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

步骤5:恢复服务

  1. 关闭无密码模式窗口
  2. 删除my.ini中的skip-grant-tables
  3. 重启服务:
net start mysql

Mac系统操作指南

方法1:终端操作

# 停止MySQL服务
sudo /usr/local/mysql/support-files/mysql.server stop

# 安全模式启动
sudo mysqld_safe --skip-grant-tables &

# 连接数据库
mysql -u root

# 修改密码(注意替换your_new_password)
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';

方法2:系统偏好法

  1. 打开MySQL偏好设置面板
  2. 点击"Initialize Database"按钮
  3. 选择"Use Legacy Password Encryption"
  4. 设置新密码

(适合完全忘记root密码且不想操作终端的情况)

验证是否成功

mysql -u root -p
# 输入新密码后能正常登录即成功!

预防措施

  1. 使用密码管理工具(推荐KeePass)
  2. 设置密码提示(但不要直接写密码)
  3. 定期修改密码(建议每90天)
  4. 创建备用账号(非root账号日常使用)

注意事项

  1. 操作前务必备份数据(重要的事情说三遍!)
  2. MySQL 5.7与8.0版本命令略有不同
  3. 如果遇到ERROR 1290,先执行FLUSH PRIVILEGES;
  4. 云服务器可能需要先关闭安全组

拓展知识

Q:为什么不能直接修改user表?

A:因为MySQL 5.7之后采用新的密码加密方式,直接改表会导致加密不匹配!

Q:忘记非root账号密码怎么办?

A:同样适用本教程,只需把root改成对应用户名即可

Q:修改后还是登录失败?

A:检查是否有空格/特殊字符,尝试用mysql_native_password插件:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

希望这篇教程能拯救你的抓狂时刻!

总结

到此这篇关于MySQL密码忘记了5分钟快速找回全攻略的文章就介绍到这了,更多相关MySQL密码忘记了找回内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql 5.7.17 以及workbench安装配置图文教程

    mysql 5.7.17 以及workbench安装配置图文教程

    这篇文章主要为大家详细介绍了mysql 5.7.17 以及workbench安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • MySQL8.0.23版本的root密码重置最优解法

    MySQL8.0.23版本的root密码重置最优解法

    这篇文章主要介绍了MySQL8.0.23版本的root密码重置最优解法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • sql ROW_NUMBER()与OVER()方法案例详解

    sql ROW_NUMBER()与OVER()方法案例详解

    这篇文章主要介绍了sql ROW_NUMBER()与OVER()方法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 源码编译安装MySQL8.0.20的详细教程

    源码编译安装MySQL8.0.20的详细教程

    这篇文章主要介绍了源码编译安装MySQL8.0.20的详细教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • MySQL 使用 ORDER BY 排序和 DELETE 删除记录的操作过程

    MySQL 使用 ORDER BY 排序和 DELETE 删

    这篇文章主要介绍了MySQL 使用 ORDER BY 排序和 DELETE 删除记录的操作过程,即数据库查询与数据操作,本文通过示例代码给大家介绍的非常详细,需要的朋友参考下吧
    2023-11-11
  • MySQL远程无法连接的一些常见原因总结

    MySQL远程无法连接的一些常见原因总结

    有的小伙伴发现自己的mysql无法正常连接远程服务器,下面这篇文章主要给大家介绍了关于MySQL远程无法连接的一些常见原因,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 使用MySQL JSON查询筛选嵌套字段的值方式

    使用MySQL JSON查询筛选嵌套字段的值方式

    本文介绍了如何在MySQL中查询JSON字段中的特定数据,通过使用JSON_EXTRACT和JSON_UNQUOTE函数,可以方便地从嵌套的JSON结构中提取所需的信息,此外,还讨论了性能优化和数据规范化建议,以提高查询效率
    2026-01-01
  • 简述Redis和MySQL的区别

    简述Redis和MySQL的区别

    这篇文章主要介绍了简述Redis和MySQL的区别,小编觉得挺不错的,这里给大家分享下,需要的朋友可以了解。
    2017-10-10
  • mysql常用语句与函数大全及举例

    mysql常用语句与函数大全及举例

    文章主要介绍了MySQL查询语句的执行顺序,包括FROM、WHERE、GROUP BY、HAVING、SELECT、ORDER BY和LIMIT等子句的使用方法,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • MySQL表不存在Table doesn't exist错误的常见原因及解决方案

    MySQL表不存在Table doesn't exist错误的常见原因及解决方案

    在MySQL数据库操作中,Table doesn't exis是一个常见的错误,通常发生在尝试访问不存在的表时,这个错误可能由多种原因引起,本文将系统性总结Table doesn't exist错误的常见原因及解决方案,并提供丰富的代码和表格示例分析,需要的朋友可以参考下
    2025-06-06

最新评论