如何在windows系统重置mysql root密码
时间: 2024-12-31 07:31:42 浏览: 29
### 如何在 Windows 系统上重置 MySQL root 用户的密码
#### 停止 MySQL 服务
为了安全地更改 `root` 密码,需先停止正在运行的 MySQL 服务。通过按下 Windows 键 + R 组合键调出“运行”对话框,在其中输入 `services.msc` 并确认进入服务管理界面。定位至名为 MySQL 或带有版本号的服务项(如 MySQL57),右键单击该项并选择“停止”,以此来终止该服务进程[^2]。
#### 跳过权限表启动 MySQL
接下来要让 MySQL 不加载授权表的方式重新启动,从而允许无验证访问数据库。前往 MySQL 的安装路径下的 bin 文件夹位置;保持 Shift 键的同时使用鼠标右键点击空白处,选取“在此处打开命令窗口”或是对于较新系统的选项“在此处打开 PowerShell 窗口”。
执行如下指令以绕过权限检查模式下开启 MySQL:
```bash
mysqld --skip-grant-tables
```
此操作会使得服务器忽略用户认证机制直至重启为止。
#### 修改 root 密码
一旦 MySQL 成功处于非正常登录状态,则可以利用另一个终端连接到它并对账户信息作出调整。再次于相同目录下调用客户端工具 mysql.exe 进入交互环境:
```bash
mysql -u root
```
随后切换至存储账号数据的 database 中,并更新对应记录设置新的密码值。假设采用 SQL 语句方式设定简单字符串 "newpassword" 作为新密钥的话,具体做法如下所示:
```sql
FLUSH PRIVILEGES;
USE mysql;
UPDATE user SET authentication_string=PASSWORD('newpassword') WHERE User='root';
FLUSH PRIVILEGES;
EXIT;
```
注意:自 MySQL 8.0 版本起不再支持 PASSWORD() 函数用于创建哈希值,此时应改用 ALTER USER 语法替代上述 UPDATE 方法:
```sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
```
最后记得保存所做的任何变更并通过 FLUSH PRIVILEGES; 来刷新权限缓存确保即时生效[^1]。
#### 恢复常规运作
完成以上步骤之后应当关闭当前异常状态下运行着的 mysqld 实例,再依照平常流程恢复正常的 MySQL 服务即可正常使用已更替过的管理员凭证登陆系统了。
阅读全文