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;