## 导读

本教程适合以下情况:

- 新安装或系统默认安装好且未曾使用过的mysql数据库root用户密码找回;
- 管理/使用过程中把root用户数据库密码忘记了。

## 安全提醒

如果是使用中的数据库,为了安全,应事先做好保护措施:

- 给数据库做打上快照,以便操作失误,可以进行数据会滚。
- 断开网络连接(可以通过端口限制、拔掉网线...),因为以下的操作会暂时失去密码保护,存在数据泄漏风险。

## 实际操作

(1)**停止** mysql 数据库服务

```shell
service mysql stop
```

(2)修改 my.cnf 文件

修改 `/etc/` 目录下的 `my.cnf` 文件,并在文件中的 `[mysqld]` 下,增加以下内容:

```shell
skip-grant-tables
```

说明:其作用是,在启用数据库时,跳过数据库鉴权。

(3)**重启** mysql 数据库

```shell
service mysql start
```

(4)登录root用户并更新其密码

```mysql
# mysql -u root -p
Enter password: # 直接回车跳过
mysql> USE mysql ;
mysql> UPDATE user SET Password = password ( 'new_password' ) WHERE User = 'root' ;
mysql> flush privileges ;
mysql> quit
```

(5)将第2步添加到 `my.cnf` 中的内容删除(切记!切记!!),然后重启数据库即可!

PS:如果做了安全措施的,应根据情况还原其原有状态。

最后修改:2021 年 04 月 03 日
如果觉得我的文章对你有用,请随意赞赏