MYSQL80忘记密码怎么重置

我的MySQL是80版本,57版本的步骤有些地方可能要修改

步骤 1:停止 MySQL 服务

最好以管理员身份打开 CMD输入下面代码

net stop mysql80

步骤 2:创建初始化文件

在C盘新建一个名称为MySQL-reset的文件夹

进去MySQL-reset文件夹,新建一个文本文件(如 reset.txt),输入以下内容:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

保存后退出

步骤 3:以跳过权限表模式启动 MySQL

在 CMD 中输入以下命令(替换路径为你的 MySQL 安装目录):

mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --init-file="C:\mysql-reset\reset.txt" --console --skip-grant-tables  --shared-memory

--defaults-file: my.ini配置文件路径(通常在 ProgramData 目录)。

--init-file: 刚才创建的reset.txt初始化文件路径。

--skip-grant-tables: 作用是跳过权限验证。

--shared-memory:作用是启用共享内存连接(用于下面步骤)

执行该命令后,最下面会有标点在闪烁,页面定住无法执行其他命令。没有该状况则说明失败,看最后的问题解决

出现上图说明成功

步骤 4:修改密码

保持上图的窗口运行,再开一个管理员 CMD。

登录 MySQL,此时无需密码即可登录进去

mysql -u root

在MySQL中执行下面代码,新密码注意与最开始reset.txt文本文件里一致,我这里设置的是123456

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

步骤 5:重启 MySQL 服务


关闭之前运行的 MySQL 进程(按 Ctrl+C)。

重新启动 MySQL 服务

net start mysql80

再次登录MySQL,输入你重置后的密码

成功登录

步骤三如果没成功,则在cmd中执行下面的命令,清除并初始化data目录(有重要的可先备份data文件夹)

注意替换自己的data目录的路径

net stop mysql
rmdir /s /q "C:\Program Files\MySQL\MySQL Server 8.0\data"
mkdir "C:\Program Files\MySQL\MySQL Server 8.0\data
mysqld --initialize --user=mysql --console
net start mysql

### 如何在 Windows 系统上重置 MySQL 8.0 的 root 密码 #### 停止 MySQL 服务 为了安全地更改 `root` 用户的密码,需先停止正在运行的 MySQL 服务。可以通过命令提示符执行此操作: ```cmd net stop mysql ``` 这会终止当前所有的数据库连接并关闭服务器进程。 #### 启动 MySQL 跳过权限表 接着,在跳过授权表的情况下启动 MySQL 实例,以便能够绕过现有的访问控制机制来修改管理员账户信息。打开一个新的命令窗口,并输入以下指令[^4]: ```cmd mysqld --skip-grant-tables ``` 此时应保持该终端处于开启状态直到完成后续步骤为止。 #### 登录到 MySQL 控制台 由于已经禁用了认证流程,则可以直接通过命令行工具进入管理界面而无需提供任何凭证数据: ```cmd mysql -u root ``` 一旦成功登录,将会看到类似于 `(mysql)` 提示符表示进入了交互模式下工作环境内。 #### 修改 Root 用户密码 现在可以更新默认超级用户的秘密字符串了。注意这里的语法适用于 MySQL 版本大于等于 8.0的情况: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES; ``` 上述 SQL 语句中的 `'new_password'` 部分应当替换为自己想要设定的新密钥值[^5]。 #### 关闭 MySQL 并恢复正常配置 最后一步是要重新加载标准的安全策略以及重启守护程序使变更生效。首先退出 MySQL shell : ```sql exit(); ``` 回到最初用来停用服务的那个命令行里再次发出相同的请求以结束临时实例: ```cmd net stop mysql ``` 然后按照正常方式恢复常规运作条件下的后台进程监听端口等待客户端连接请求到来: ```cmd net start mysql ``` 至此整个过程就全部完成了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值