有时候,密码搞丢了,咋办,就需要重置密码了,网上有些教程,但是不咋靠谱,所以自己记下来,方便日后用,主要是在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
2、重启mysql服务生效
service mysql restart
#新的mysql执行这个命令
systemctl restart mysqld.service
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
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ehXr8P5y-1650586076970)(//img-blog.csdn.net/20180321160313695?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L3llbGxsb3djb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)]
4、删除配置文件中的skip-grant-tables
vim /etc/my.cnf
#注释掉skip-grant-tables
5、重启mysql,让配置生效
#重启mysql
service mysql restart
mysql -uroot -pyellowcong
参考文章
1、MYSQL5.7:Access denied for user ‘root’@’localhost’ (using password:YES)解决方法
)