在MySQL日常开发或者是维护中,有一些问题或是故障往往是难以避免的,如丢失密码、表损坏。在此总结一下常忘记MySQL的root密码解决办法:

1.登录数据库所在服务器,手动kill掉Mysql进程

关闭进程的命令为:kill 进程号(linux下)
关闭进程的命令为:taskkill 进程号(win下)
怎么查看进程号呢?
我们都知道MySQL的进程号一般都会保存在Mysql数据目录下的,它记录了Mysql的服务进程号。文件名为hostname.pid,如下,其中YEGZT8JOIIU2LKY为主机名。

这里写图片描述 

linux下查看进程通过使用ps命令;在win下,我们也可以通过tasklist查看进程号,

这里写图片描述

打开该文件,可以看到,里面仅仅记录着进程号

这里写图片描述 

现在为了方便,我主要演示win下操作,不准备打开虚拟机在测试了。如果我们不熟悉taskkill命令,可以通过taskkill /?来查看命令。

 这里写图片描述

2.使用–skip-grant-tables选项重启MySQL服务

linux下
语法:./bin/mysqld_safe –skip-grant-tables
其中–skip-grant-tables选项代表启动mysql
(注意win下安装的Mysql,我使用mysqld –skip-grant-tables )

3.使用空密码的root用户连接MySQL,并修改root口令

这里写图片描述 

修改如下

因为使用–skip-grant-tables启动,故使用set password命令失败。

这里写图片描述 

使用update语句,直接更新mysql数据库中user表。

这里写图片描述

4.更新权限

这里写图片描述

5.重新登录

退出后,发现在此使用mysql -uroot登录,会登陆不成功,只能使用密码登陆。

这里写图片描述

以上就是解决root密码忘记的方法,希望对大家的学习有所帮助。

点赞(115)

评论列表共有 0 条评论

立即
投稿
返回
顶部