这里通过mysqld --init-file办法。

适用情况: 服务器可以启动但无法登录/忘记登录密码。
一、首先停止 MySQL 服务:

按下 Win + R 组合键,输入 services.msc 并点击“确定”,打开“服务”管理器。

找到你的 MySQL 服务(我的是 “MySQL80”),右键单击它,然后选择“停止”。等待服务完全停止。

二、创建一个包含重置密码 SQL 命令的文本文件 reset_password.sql

创建文本文件:

根据 MySQL 版本写入修改密码的 SQL 语句:

对于 MySQL 8.0 及更高版本:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
FLUSH PRIVILEGES;

对于 MySQL 5.7 及更早版本:

UPDATE mysql.user SET Password=PASSWORD('你的新密码') WHERE User='root';
FLUSH PRIVILEGES;

保存并关闭这个文件,修改文件名为reset_password.sql,记住该文件路径(我的是"D:\reset_password.sql")。

三、修改 MySQL 配置文件 (my.ini):

在my.ini的 [mysqld]部分添加一行(注意/):

一般my.ini在Program Files\MySQL\MySQL Server 8.0文件夹下,如果没有请先自行配置。

[mysqld]
init-file="D:/reset_password.sql"

四、启动 MySQL 服务器

打开“服务”管理器 (services.msc),找到你的 MySQL 服务,右键单击它,然后选择“启动”:

MySQL 服务器启动时会执行 init-file 中指定的 SQL 命令来重置 root 密码。

此时通过新密码即可登录 MySQL。
五、删除或注释掉 my.ini 文件中的 init-file 行

一旦你成功使用新密码登录后,务必再次编辑 my.ini 文件,删除或注释掉 (# 开头) init-file 这一行。否则,每次 MySQL 服务器启动时都会尝试重置密码。

重启 MySQL 服务 使更改生效。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐