本地装了一个mysql,一直很少用,今天想进行项目测试,结果发现msyql密码忘了,只在Navicat上登录进去可以,但看不到密码。然后就尝试着修改密码了。

MySQL数据库 密码忘记 mysql密码忘了_MySQL数据库 密码忘记


下面我就将把我更改mysql密码的步骤分享出来。

一、首先我们要停掉mysql服务,如图所示,我的mysql服务一直在运行

MySQL数据库 密码忘记 mysql密码忘了_用户名_02


停掉后如图所示,确保是是这种状态,否则下面操作进行不下去。

MySQL数据库 密码忘记 mysql密码忘了_项目测试_03


二、我们进入自己mysql安装目录的bin目录下(将root用户对数据库操作的的权限授予给别的用户),进行cmd操作,打开DOS命令,

MySQL数据库 密码忘记 mysql密码忘了_数据库_04


MySQL数据库 密码忘记 mysql密码忘了_项目测试_05


然后先输入 mysqld --skip-grant-tables 回车,然后回车完了,这个页面基本不动了,如图所示,我们再同样操作打开一个这样的窗口

MySQL数据库 密码忘记 mysql密码忘了_mysql_06


输入mysql,然后再输入mysql,如下图所示:

MySQL数据库 密码忘记 mysql密码忘了_数据库_07


然后再输入use mysql,

下面就是进行修改了,输入update user set password=password(“123456”) where user=“root”;

此时需要注意,在mysql5.7开始后就没有这个password字段,因此要改为authentication_string,所以

最终命令:update user set authentication_string=password(“123456”) where user=“root”;

这其中最后一个“;”分号要加,然后root指的是你的用户名,123456指的是密码

重新加载一下权限,将设置了密码的用户root的权限信息从内存中写入数据库。输入命令flush privileges;“;”分号要加

MySQL数据库 密码忘记 mysql密码忘了_数据库_08


如果password忘了改成authentication_string报错如下。

MySQL数据库 密码忘记 mysql密码忘了_项目测试_09


最后我们进行刷新输入命令flush privileges;“;”分号要加

下权限退出,重新启动服务即可。如下系列图

MySQL数据库 密码忘记 mysql密码忘了_MySQL数据库 密码忘记_10


MySQL数据库 密码忘记 mysql密码忘了_用户名_11


MySQL数据库 密码忘记 mysql密码忘了_mysql_12


这样就可以了,我这边设置成功,以上就是我忘记密码重新修改的过程,分享出来。如果哪里有问题,欢迎指正,非常感谢!