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