好久没登录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
完毕,大功告成。