Mysql5.0版本忘记密码后解决办法

1步.停止mysql服务(首先在"任务管理器"中,结束"mysql-nt.exe"程序)
网上有人说这个也可以打开命令行窗口CMD,Net stop mysql

("开始"-->>"运行"打开打开命令行窗口CMD,并执行"Net stop mysql"我的默认命令是C:\Documents and Settings\mok>Net stop mysql 各人根据情况而定.)

但我试过报错,不知道是不是版本问题,有那位知道的告诉一声.

2.用另外一种方式启动Mysql:在命令行进入到mysql的安装路径下的bin目录下使用mysqld-nt.exe启动:mysqld-nt --skip-grant-tables

注意:此时CMD窗口不能关闭。(开始"-->>"运行"打开打开命令行窗口CMD
C:\Documents and Settings\mok>cd ..
C:\Documents and Settings>cd ..
C:\>cd C:\Program Files\MySQL\MySQL Server 5.0\bin
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqld-nt --skip-grant-tables
)

4.进入Mysql:另外打开一个命入令行窗口,在bin目录下执行mysql,此时无需输入密码即可进入(
C:\Documents and Settings\mok>cd ..
C:\Documents and Settings>cd ..
C:\>cd C:\Program Files\MySQL\MySQL Server 5.0\bin
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqld.exe

这样就进入了mysql>提示符,然后打开mysql数据库修改user中用户root的密码

方法:
mysql>use mysql
mysql>update user set password=password("new_pass") where user="root";
mysql>flush privileges;
C:\Program Files\MySQL\MySQL Server 5.0\bin>exit
)

注意:
1)如果对sql语句熟悉的话,update这句就不用解释了第一个User是表名、第二个User是表中的字段。第一个Password是表中的字段,第二个Password()是加密用的函数。new_pass是要更改的密码。

2)flush privileges可以不用添加。但是如果添加了,一定要注意Host字段不能是Localhost。因为用了这个之后就不能用Localhost连接了。你可以把这个字段改成IP,或者通配符。

>update user set host="192.168.0.1" where user="root"

5.使用任务管理器,找到mysqld-nt的进程,结束进程!

6.重新启动mysql服务,就可以用新密码登录了(右点击"我的电脑"图标-->>"服务"-->>启动"MySql501")。