导读

本教程适合以下情况:

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

安全提醒

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

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

实际操作

(1)停止 mysql 数据库服务

service mysql stop

(2)修改 my.cnf 文件

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

skip-grant-tables

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

(3)重启 mysql 数据库

service mysql start

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

# 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 日 12 : 01 AM