(保姆步骤)MySQL忘记密码了,重置密码。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

本人因为忘记自己的本地mysql数据库密码,在网上搜了很多方法感觉太杂乱,自己重置密码后将步骤分享出来。

一、操作步骤

一.首先确定你的MySQL安装路径:

1.按win+x ,点击任务管理器。

2.点击服务,然后点右上角三个点,再点击打开服务,进入服务界面找到MySQL。

3.右键MySQL点击属性可以看到文件路径,记住这个路径。

二.执行重置操作。

1.以管理员身份打开​​​​ PowerShell,按 Win+X → 选择 ​​Windows PowerShell(管理员)​,如果看到"是否允许更改"提示,点击是。

2.彻底停止MySQL在命令框中输入:

Stop-Service -Name "MySQL" -Force

3.进入MySQL安装目录,!!!这里的地址以你的地址为准!!!:

cd "C:\Program Files\mysql-8.0.28-winx64\bin"

4.启动无密码验证模式:

.\mysqld.exe --skip-grant-tables --shared-memory --console

保持这个窗口打开不要关闭!保持这个窗口打开不要关闭!保持这个窗口打开不要关闭!

5.新开​​管理员PowerShell窗口, 再次按 Win+X  → 新建一个管理员PowerShell窗口

6.连接到MySQL,!!!这里的地址以你的地址为准!!!

cd "C:\Program Files\mysql-8.0.28-winx64\bin"
.\mysql.exe -u root --protocol=memory

7.执行密码重置(逐行执行)这里我的名称是root密码是123456,请将替换为您想设置的新密码。

这句重置密码有些sql版本可能不一样(ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';)

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
exit;

8.返回第一个PowerShell窗口

    按 Ctrl+C 停止MySQL服务

9.正常启动MySQL服务​:

Start-Service -Name "MySQL"

10.​测试新密码,输入您刚设置的新密码​:

.\mysql.exe -u root -p123456

输入密码后应看到 mysql> 提示符。

你就成功重置了你的密码。


总结

注意MySQL版本不一样有些语句可能不一样。

### 如何重置 MySQL 数据库的 root 用户密码 以下是几种常见的方法来重置 MySQL 的 `root` 密码: #### 方法一:通过 skip-grant-tables 配置 找到 MySQL 安装目录下的 `my.ini` 文件,在 `[mysqld]` 节点下添加 `skip-grant-tables` 配置项[^2]。 保存文件后,重启 MySQL 服务以使更改生效。 ```bash sudo service mysql restart ``` 随后可以通过以下命令无密码登录 MySQL: ```bash mysql -u root ``` 进入 MySQL 后,执行以下 SQL 命令更新 `root` 用户的密码: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ``` 完成之后,移除 `my.ini` 中的 `skip-grant-tables` 设置,并再次重启 MySQL 服务[^2]。 --- #### 方法二:直接使用 SQL 更新语句 如果能够正常访问 MySQL,则可以直接运行以下 SQL 来修改密码: ```sql USE mysql; UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root' AND Host='localhost'; FLUSH PRIVILEGES; QUIT; ``` 需要注意的是,这里的 `PASSWORD()` 函数可能仅适用于较旧版本的 MySQL(如 5.7 或更早)。对于 MySQL 8.0 及以上版本,推荐使用 `ALTER USER` 语法替代[^3]。 --- #### 方法三:利用 --init-file 参数启动 MySQL 创建一个临时脚本文件 `/tmp/mysql-init` 并写入以下内容: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ``` 赋予该文件可读权限: ```bash chmod 600 /tmp/mysql-init ``` 接着停止 MySQL 服务并用 `--init-file` 参数重新启动它: ```bash sudo mysqld_safe --init-file=/tmp/mysql-init & ``` 等待几秒钟让 MySQL 加载初始化脚本后再关闭后台进程,并恢复正常启动方式[^4]。 最后验证新的 `root` 密码是否有效: ```bash mysql -u root -p ``` 输入刚才设定的新密码尝试登录。 --- ### 注意事项 - 修改前建议备份重要数据以防万一。 - 不同操作系统上的具体路径和服务控制指令可能会有所差异,请根据实际情况调整。 - 如果遇到任何问题,请查阅官方文档获取更多帮助[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值