我在开发过程中碰到了一个说来也是很无语的问题

我把 MySQL root用户的密码给忘了。。。

当时试了好多密码都不合适,所以我索性去百度怎么解决这个问题

然后果然找到了,特此记录如下:

首先 cd 到mysql安装目录下的bin目录

在这里进入cmd,然后键入

mysqld --skip-grant-tables  # 让mysql跳过权限检查 

然后再win+r打开另外一个cmd窗口

mysql -u root -p 

这时候不需要密码直接可以进入

先切换到存放账户数据的mysql数据库

use mysql; # 注意sql语句结束必须有 ; 

然后进行改密操作

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

但是很奇怪的是,竟然报错了!!!

我复制报错信息接着去百度,这时候发现了一条很重要的信息

5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string

我恍然大悟

再次更改密码

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

果然这次成功了,但是别激动,下一步我们得刷新权限让更改立即生效

flush privileges; 

退出数据库

quit; 

这样root用户的密码就修改完成了,最后关闭之前开启的让mysql跳过权限检查的cmd窗口即可

该方法同样可以更改其他普通用户的密码

最后修改:2024 年 07 月 17 日
如果觉得我的文章对你有用,请随意赞赏