Linux--MySQL忘记密码时怎么办

x33g5p2x  于2021-11-23 转载在 Linux  
字(1.1k)|赞(0)|评价(0)|浏览(437)

sc@mysql 14:47  mysql>alter user 'root'@'localhost' identifed by '123456';    ----》修改密码(修改root@localhsot超级用户的密码,使用另外一个管理员用户去修改)(普通用户直接在超级用户下用这条命令修改)
'root'@'localhost'  被修改密码的用户

'123456'       修改的密码

本质上是修改mysql库里的user表里的对应的用户的auth_string

在超级用户密码忘记的时候,又没有别的管理员用户的时候,就只能修改停止MySQL服务--》中断业务

密码破解

第一步:停止MySQL进程的运行

[root@localhost ~]# service mysqld stop

Shutting down MySQL.... SUCCESS!

[root@localhost ~]#

第二步:修改配置文件

[root@localhost ~]# vim /etc/my.cnf
[mysqld]
user=mysql              #指定启动MySQL进程的用户
skip-grant-tables    #跳过密码验证
#validate-password=off    #需要禁用密码复杂性策略

第三步:启动MySQL进程

[root@localhost ~]# service mysqld start
Starting MySQL.. SUCCESS! 
[root@localhost ~]#

第四步:登录MySQL,不接密码,输入密码时直接回车

[root@localhost ~]# mysql -uroot -p

第五步:先刷新权限在修改密码

root@(none) 15:17  mysql>flush privileges;刷新权限(会加载原来没有加载权限表--》用户名和密码所在的表user等)
root@(none) 15:17  mysql>alter user 'root'@'localhost' identifed by '123456';

第六步:重新修改MySQL的配置文件

[root@localhost ~]# vim /etc/my.cnf
[mysql]
socket=/data/mysql/mysql.sock
#user=mysql   -->注释掉
#skip-grand-tables   --->注释掉

第七步:刷新服务

[root@localhost ~]# service mysqld restart
Starting MySQL.. SUCCESS! 
[root@localhost ~]#

第八步:验证密码修改是否成功、

[root@localhost ~]# mysql -uroot -p123456;

注:不是迫不得已不建议使用,停止服务会造成损失

相关文章