Windows下MySQL8 忘记 root 密码

注意:

MySQL8 不能直接使用skip-grant-tables命令来重置密码

1. 停止服务

方法一:任务管理器-服务下面找到MySQL服务,直接停掉

方法二:管理员身份打开命令窗口行,输入

net stop mysql

注意:如果,没有配置环境变量,需要进入bin目录下,然后输入该命令

在这里插入图片描述

2. 启动MySQL

输入

mysqld --console --skip-grant-tables --shared-memory 

启动完毕后,再另行启动一个doc窗口

在这里插入图片描述

3. 修改密码

另行启动一个doc窗口,输入

mysql -u root -p

直接回车进入MySQL

修改步骤:
(1)进入MySQL内部

use mysql;

(2)将原root密码重置为空

update user set authentication_string='' where user='root';

(3)刷新表

flush privileges;

(4)修改密码

 ALTER user 'root'@'localhost' IDENTIFIED BY 'root';

在这里插入图片描述

4. 测试

在这里插入图片描述

### 如何在 Windows 上重置 MySQL 8.0 的 Root 密码 #### 停止 MySQL 服务 为了安全地更改 `root` 用户的密码,需要先停止正在运行的 MySQL 服务。可以通过命令提示符来完成此操作: ```cmd net stop mysql80 ``` 这会停止名为 `mysql80` 的 MySQL 服务[^1]。 #### 启动 MySQL 跳过权限表 启动 MySQL 数据库时跳过权限表验证可以绕过现有的访问控制设置,从而允许无密码登录并修改账户信息。为此,在命令行输入如下指令: ```cmd mysqld --console ``` 这条命令会在不加载授权表的情况下启动服务器实例,并将日志打印到终端以便监控[^2]。 #### 登录 MySQL 并更新密码 打开一个新的命令窗口(保持之前的 mysqld 进程继续执行),通过以下方式连接至数据库: ```cmd mysql -u root ``` 成功进入 MySQL shell 后,使用 SQL 查询语句改变 `root` 用户的认证字符串: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES; ``` 上述代码中的 `'新密码'` 应替换为你想要设定的新密码[^3]。 #### 关闭 MySQL 实例并重启正常模式的服务 完成以上步骤之后,关闭当前异常状态下的 MySQL 实例,再重新按照常规流程开启它: ```cmd exit; /*退出MySQL Shell*/ taskkill /F /IM mysqld.exe /*终止所有mysqld进程*/ net start mysql80 /*以标准配置再次激活服务*/ ``` 此时应该能够利用刚刚设置好的新凭证去管理数据库了[^4]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值