有时候,密码搞丢了,咋办,就需要重置密码了,网上有些教程,但是不咋靠谱,所以自己记下来,方便日后用,主要是在my.ini文件中,配置skip-grant-tables,略过验证,然后再更新里面的密码设置。具体步骤:1、修改my.ini配置文件,添加skip-grant-tables,2、重启mysql服务,3、登录mysql,并设定新的密码,4、删除my.ini配置文件中的skip-grant-tables,5、重启mysql服务并登录

1、修改my.ini

打开MySQL目录下的my.ini文件,在文件的[mysqld]
节点上,添加一行“skip-grant-tables”,保存并关闭文件;

#编辑mysql配置文件
vim /etc/my.cnf

#添加
skip-grant-tables

Mysql之重置密码、忘记密码-yellowcong_mysql

2、重启mysql服务生效

service mysql restart

#新的mysql执行这个命令
systemctl restart mysqld.service

Mysql之重置密码、忘记密码-yellowcong_mysql_02

3、登录mysql

#连接mysql,直接回车即可,不需要输入密码
mysql -u root -p

#更新root用户密码
update mysql.user set authentication_string=password('yellowcong') where user='root' and Host = 'localhost';

#刷新权限
flush privileges;

#推出mysql
exit   或者 quit

Mysql之重置密码、忘记密码-yellowcong_重启_03

4、删除配置文件中的skip-grant-tables

vim /etc/my.cnf

#注释掉skip-grant-tables

Mysql之重置密码、忘记密码-yellowcong_重启_04

5、重启mysql,让配置生效

#重启mysql
 service mysql restart

 mysql -uroot -pyellowcong

Mysql之重置密码、忘记密码-yellowcong_mysql_05

参考文章

1、MYSQL5.7:Access denied for user ‘root’@’localhost’ (using password:YES)解决方法