- 时间:2022-01-30 03:38 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:忘记MySQL的root密码该怎么办
在MySQL日常开发或者是维护中,有一些问题或是故障往往是难以避免的,如丢失密码、表损坏。在此总结一下常[b]忘记MySQL的root密码[/b]解决办法:
[b]1.登录数据库所在服务器,手动kill掉Mysql进程[/b]
关闭进程的命令为:[b][code]kill 进程号[/code](linux下) [/b]
关闭进程的命令为:[b][code]taskkill 进程号[/code](win下)
[/b][b]怎么查看进程号呢?[/b]
我们都知道MySQL的进程号一般都会保存在Mysql数据目录下的,它记录了Mysql的服务进程号。文件名为hostname.pid,如下,其中YEGZT8JOIIU2LKY为主机名。
[img]http://files.jb51.net/file_images/article/201605/201605130926263.jpg[/img]
linux下查看进程通过使用ps命令;在win下,我们也可以通过tasklist查看进程号,
[img]http://files.jb51.net/file_images/article/201605/201605130926274.jpg[/img]
打开该文件,可以看到,里面仅仅记录着进程号
[img]http://files.jb51.net/file_images/article/201605/201605130926275.jpg[/img]
现在为了方便,我主要演示win下操作,不准备打开虚拟机在测试了。如果我们不熟悉taskkill命令,可以通过taskkill /?来查看命令。
[img]http://files.jb51.net/file_images/article/201605/201605130926276.jpg[/img]
[b]2.使用–skip-grant-tables选项重启MySQL服务[/b]
linux下
语法:./bin/mysqld_safe –skip-grant-tables
其中–skip-grant-tables选项代表启动mysql
(注意win下安装的Mysql,我使用mysqld –skip-grant-tables )
[b]3.使用空密码的root用户连接MySQL,并修改root口令[/b]
[img]http://files.jb51.net/file_images/article/201605/201605130926277.jpg[/img]
修改如下
因为使用–skip-grant-tables启动,故使用set password命令失败。
[img]http://files.jb51.net/file_images/article/201605/201605130926278.jpg[/img]
使用update语句,直接更新mysql数据库中user表。
[img]http://files.jb51.net/file_images/article/201605/201605130926279.jpg[/img]
[b]4.更新权限[/b]
[img]http://files.jb51.net/file_images/article/201605/2016051309262710.jpg[/img]
[b]5.重新登录[/b]
退出后,发现在此使用mysql -uroot登录,会登陆不成功,只能使用密码登陆。
[img]http://files.jb51.net/file_images/article/201605/2016051309262711.jpg[/img]
以上就是解决root密码忘记的方法,希望对大家的学习有所帮助。