linuxmysql密码忘了
时间: 2025-01-03 17:39:08 浏览: 17
### 如何重置 Linux 中 MySQL 的 Root 密码
#### 停止 MySQL 服务
为了安全地更改 root 用户的密码,需要先停止正在运行的 MySQL 服务。这可以通过命令行工具完成:
```bash
sudo systemctl stop mysql
```
#### 启动 MySQL 安全模式
接下来,在不加载授权表的情况下启动 MySQL 实例,这样可以绕过正常的权限检查机制。
```bash
sudo mysqld_safe --skip-grant-tables &
```
这条指令会以后台进程的方式启动 MySQL,并跳过授予表格[^3]。
#### 登录到 MySQL 并更新密码
此时可以直接通过 `mysql` 客户端连接至服务器而无需提供任何凭证信息:
```bash
mysql -u root
```
进入 MySQL 控制台之后,执行 SQL 查询来改变 root 用户的身份验证字符串为空值或其他指定的新密码:
对于 MySQL 版本 5.7 及以上版本:
```sql
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
```
而对于较早版本,则应采用如下语句:
```sql
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
```
请注意,上述 `'new_password'` 部分应该替换为你想要设定的具体密码[^4]。
#### 重启 MySQL 服务
成功设置了新的 root 密码后,应当正常关闭当前处于特殊状态下的 MySQL 进程,并按照常规方式重新激活它:
```bash
sudo pkill mysqld
sudo systemctl start mysql
```
最后一步就是尝试使用刚刚创建好的新密码来进行身份认证测试:
```bash
mysql -u root -p
```
输入之前定义过的密码以确认一切运作良好[^1]。
阅读全文