忘记MySQL的root密码该怎么办

如题所述



在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登录,会登陆不成功,只能使用密码登陆。



温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜