MySQL忘记密码解决方案

昨天晚上,看[PHP程序设计]一书,刚好看到第8章”数据库”,就启动了早先装上去的MySql,然后用Mysql Administator去登录,结果却将密码忘记了,怎么也登录不上去了,郁闷了一下.于是上网搜索相关资料,找到了如下的办法:

在windows下:
打开命令行窗口,停止mysql服务:Net stop mysql
到mysql的安装路径启动mysql,在bin目录下使用mysqld-nt.exe启动,在命令行窗口执行:mysqld-nt –skip-grant-tables
然后另外打开一个命入令行窗口,执行mysql,此时无需输入密码即可进入。
>use mysql
>update user set password=password(“new_pass”) where user=”root”;
>flush privileges;
>exit
使用任务管理器,找到mysqld-nt的进程,结束进程!
在重新启动mysql-nt服务,就可以用新密码登录了。

在linux下:
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :bin/safe_mysqld –skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password(“new_pass”) where user=”root”;
>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL 。

然而我安装的MySql是mysql-5.1.41, 里面没有mysqld-nt.exe,只有mysqld.exe.
呵呵,就是这个啦!
于是按着操作:
1- 通过任务管理器,关闭MySql服务
2- 到MySql安装的目录下的Bin子目录下,在命令行窗口运行:mysqld –skip-grant-tables
3- 后面的相同,照做:

>use mysql
>update user set password=password(“new_pass”) where user=”root”;
>flush privileges;
>exit

注意,这样一来,你的密码就成了”new_pass”(不含引号)
于是,现次用命令行来重设一下密码:

D:\MySQL\MySQL Server 5.1\bin>mysqladmin.exe -uroot -p password “你的密码”

请再次留意,这里的”你的密码”,你如果不想你的密码含有引号,则不用带上,操作如:

D:\MySQL\MySQL Server 5.1\bin>mysqladmin.exe -uroot -p password 123456789

“MySQL忘记密码解决方案”的一个回复

  1. 您好!我非常想感谢一个巨大的帮助您的网站。此代码对我帮助很大,谢谢!

    iawen于2010-11-08 22:47:01回复:

    能够帮助到你,我也很高兴!
    其实很我资料我也是网上从其他朋友的文章里发现的,只不是经过自己的尝试而已!

发表评论