好久没登录mysql,忘记数据库root密码了 = =。在网上找了很多重置root密码的博客,由于搜到的那些博客记录的mysql版本太老了,方法不能用。无奈,我只好删了重装mysql,但是不知为何重装完还是需要之前的密码,简直心态爆炸。最终请教小伙伴,找到了免密重置mysql密码的方法,在此记录一下。我的系统是Fedora25,MySql的版本是5.7。 
修改密码如下: 
1.在配置文件 /etc/my.cnf 中添加skip-grant-tables,这样我们就可以免密登录mysql了。sudo vim /etc/my.cnf保存并退出。2.重启mysqlsystemctl restart mysqld 
或 
service mysqld restart3.终端输入 mysql 直接登录MySQL数据库,然后use mysqlmysql 
成功进入mysql 
mysql> use mysql4.重置root密码 
需要注意的是,在mysql5.7的版本下,已经没有password这个字段了,password字段改成了authentication_string。修改密码我们要修改这个字段的值。update user set authentication_string=password('新密码') where user='root' ;1这样,我们就已经修改密码成功了。 
5.修改/etc/my.cnf 文件,将之前添加的skip-grant-tables 这句话注释掉。不然我们仍然还是免密的方式登录Mysql。6.再次重启mysqlsystemctl restart mysqld 
或 
service mysqld restart完毕,大功告成。