MySQL 8.0 忘记登录密码 mysqld --init-file重置
看到了很多跳过授权表的办法,这里通过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;
1
2
对于 MySQL 5.7 及更早版本:
UPDATE mysql.user SET Password=PASSWORD(‘你的新密码’) WHERE User=‘root’;
FLUSH PRIVILEGES;
1
2保存并关闭这个文件,修改文件名为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
1
2
四、启动 MySQL 服务器
打开“服务”管理器 (services.msc),找到你的 MySQL 服务,右键单击它,然后选择“启动”:
MySQL 服务器启动时会执行 init-file 中指定的 SQL 命令来重置 root 密码。
此时通过新密码即可登录 MySQL。
五、删除或注释掉 my.ini 文件中的 init-file 行
一旦你成功使用新密码登录后,务必再次编辑 my.ini 文件,删除或注释掉 (# 开头) init-file 这一行。否则,每次 MySQL 服务器启动时都会尝试重置密码。
重启 MySQL 服务 使更改生效。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Liawan3179063870/article/details/147387023