MySQL5.7免密重置root密码

时间:2022-10-30 15:36:34

好久没登录mysql,忘记数据库root密码了 = =。在网上找了很多重置root密码的博客,由于搜到的那些博客记录的mysql版本太老了,方法不能用。无奈,我只好删了重装mysql,但是不知为何重装完还是需要之前的密码,简直心态爆炸。最终请教小伙伴,找到了免密重置mysql密码的方法,在此记录一下。


我的系统是Fedora25,MySql的版本是5.7。
修改密码如下:
1.在配置文件 /etc/my.cnf 中添加skip-grant-tables,这样我们就可以免密登录mysql了。

sudo vim /etc/my.cnf

保存并退出。

2.重启mysql

systemctl restart mysqld

service mysqld restart

3.终端输入 mysql 直接登录MySQL数据库,然后use mysql

mysql
成功进入mysql
mysql> use mysql

4.重置root密码
需要注意的是,在mysql5.7的版本下,已经没有password这个字段了,password字段改成了authentication_string。修改密码我们要修改这个字段的值。

update user set authentication_string=password('新密码') where user='root' ;

这样,我们就已经修改密码成功了。
5.修改/etc/my.cnf 文件,将之前添加的skip-grant-tables 这句话注释掉。不然我们仍然还是免密的方式登录Mysql。

6.再次重启mysql

systemctl restart mysqld

service mysqld restart

完毕,大功告成。