## 导读
本教程适合以下情况:
- 新安装或系统默认安装好且未曾使用过的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:如果做了安全措施的,应根据情况还原其原有状态。