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

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

🔥 问题场景

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

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

别慌!今天教大家两种超实用的密码重置方案,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:恢复服务

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

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:系统偏好法

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

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

✅ 验证是否成功

mysql -u root -p

# 输入新密码后能正常登录即成功!

🛡️ 预防措施

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

⚠️ 注意事项

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

🚀 拓展知识

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 '新密码';

希望这篇教程能拯救你的抓狂时刻!如果还有其他数据库问题,欢迎留言讨论~ (记得收藏本文防丢失哦!)

相关推荐

防电脑辐射隔离霜哪个牌子好
365365bet体育在

防电脑辐射隔离霜哪个牌子好

📅 07-14 👁️ 8358
腾讯投资马蜂窝终于官宣 在线旅游巨头之争再次升温
《原神》抽卡抽哪个池子?抽卡池子顺序推荐
365365bet体育在

《原神》抽卡抽哪个池子?抽卡池子顺序推荐

📅 07-22 👁️ 6842