在Linux下忘记MySQL密码后我们可以通过一个mysql的参数--skip-grant-tables &轻松解决这个问题

亲测在CentOS有效

其中 --skip-grant-tables 的意思是跳过授权表,通过此参数来跳过输入密码,后面跟得 & 符号是表示设置此进程为后台进程

 

具体操作过程如下:

1.首先关闭掉MySQL系统服务:

service mysqld stop

2.使用命令跳过输入密码过程:

mysqld_safe --skip-grant-tables &
mysql

也可以回车之后在输入命令: mysql

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

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

重启mysql系统服务后就可以用新密码进入MySQL了~

service mysqld restart

 

出现的问题:

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

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

reboot

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