centOS的mysql忘记root密码
简介:此处安装的mysql是5.7版本的,服务器上的mysql忘记密码了怎么办,刚好有舍不得的数据,请看下面步骤
思路: mysql跳过授权表认证更改root密码
1.用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf
加上这句:skip-grant-tables
2.重启mysql:
service mysql restart 或者 systemctl restart mysqld
报错:
Job for mysqld.service failed. See 'systemctl status mysqld.service' and 'journalctl -xn' for details.
错误信息提示:无法识别 validate_password,此句话是忽略密码策略时添加的,添加后没有直接报错,只是在此基础上又加上了 skip-grant-tables后报错
解决方法:
注释掉:validate_password = off 或者删除掉
3.重启mysql : service mysql restart 或者 systemctl restart mysqld
4.用户无密码登录
mysql -uroot -p
密码为空,直接回车下一步
5.修改root密码
注:有的时候可能要先 use mysql一下
update mysql.user set authentication_string=password('root123456') where user='root';
FLUSH PRIVILEGES;
完事后退出 exit;
6.进入/etc/my.cnf,把步骤一的skip-grant-tables 删除掉
7.重启mysql service mysql restart 或者 systemctl restart mysqld
service mysql restart 或者 systemctl restart mysqld
8.使用刚才的密码登录后成功