Linux--忘记MySQL密码的解决方法和输入mysqld_safe --skip-grant-tables &后无法进入MySQL的解决方法

在Linux下忘记MySQL密码后我们可以通过一个mysql的参数–skip-grant-tables &轻松解决这个问题
亲测在CentOS有效
其中 --skip-grant-tables 的意思是跳过授权表,通过此参数来跳过输入密码,后面跟得 & 符号是表示设置此进程为后台进程

具体操作过程如下:
1.首先关闭掉MySQL系统服务:

service mysqld stop

这里写图片描述
2.使用命令跳过输入密码过程:

mysqld_safe --skip-grant-tables &
mysql

Linux--忘记MySQL密码的解决方法和输入mysqld_safe --skip-grant-tables &后无法进入MySQL的解决方法_第1张图片
也可以回车之后在输入命令: mysql
Linux--忘记MySQL密码的解决方法和输入mysqld_safe --skip-grant-tables &后无法进入MySQL的解决方法_第2张图片

3.进入 mysql数据库,然后通过语句修改密码:

use mysql
update user set password=password("root1234") where user='root'; //修改用户:root的密码成为:root1234
flush privileges//刷新MySQL的系统权限相关表,否则会出现拒绝访问 忘记输入的话重启mysql服务也可以

Linux--忘记MySQL密码的解决方法和输入mysqld_safe --skip-grant-tables &后无法进入MySQL的解决方法_第3张图片
重启mysql系统服务后就可以用新密码进入MySQL了~

service mysqld restart

出现的问题:
一开始因为种种原因,出现了我输入命令: mysqld_safe --skip-grant-tables & 后无法进入mysql的情况

Linux--忘记MySQL密码的解决方法和输入mysqld_safe --skip-grant-tables &后无法进入MySQL的解决方法_第4张图片

这个时候重启一下系统就好了

reboot

重启之后再按照上面的步骤走一遍就好了~

你可能感兴趣的:(Mysql,Linux)