忘记密码后mysql修改root密码
时间: 2025-01-08 16:08:46 浏览: 6
### 如何在忘记原密码的情况下重置 MySQL root 账户的密码
#### 停止 MySQL 服务
对于 Windows 版本,需先停止正在运行的 MySQL 服务。可以通过命令提示符执行 `net stop mysql` 来实现这一点[^1]。
#### 启动 MySQL 并跳过权限验证
启动 MySQL 的时候加上参数 `--skip-grant-tables` ,这可以让 MySQL 不加载授权表从而绕过正常的身份认证过程。如果是通过命令行来操作,在安装路径下的 bin 文件夹内输入如下指令:
```bash
mysqld --skip-grant-tables
```
此时应该保持这个命令窗口处于开启状态以便让 MySQL 继续以这种方式运行[^3]。
#### 进入 MySQL 控制台并更改密码
打开另一个命令行工具(如 CMD 或 PowerShell),切换至 MySQL 安装目录中的 bin 子文件夹下,接着键入 `mysql -u root` 登录数据库管理界面。之后选择默认存储用户账号信息的库 `USE mysql;` 接着针对不同版本采取相应措施更新用户的认证字符串字段为新的哈希值表示形式的新密码[^4]。
对于 MySQL 5.7 及以上版本来说,可以使用下面这条 SQL 语句完成密码变更工作:
```sql
UPDATE user SET authentication_string=PASSWORD('NewPassword') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
```
请注意这里的 `'NewPassword'` 部分应当替换为自己设定的安全强度足够的实际密码。
#### 移除 skip-grant-tables 参数并重启服务
一旦完成了上述所有步骤,则需要编辑配置文件删除或注释掉之前用来临时禁用访问控制的那一行即 `skip-grant-tables=1` 。保存修改后的文档再依照常规流程重新激活 MySQL 服务即可正常使用新设定了的管理员级凭证登陆系统了[^2]。
阅读全文