在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
重启之后再按照上面的步骤走一遍就好了~