在windows下: 
打开命令行窗口,停止mysql服务:        net stop mysql 
启动mysql,一般到mysql的安装路径,找到 mysqld-nt.exe ( 或者是mysql.exe ) 
执行:mysqld-nt --skip-grant-tables 当前窗口将会停止。 
另外打开一个命令行窗口,执行mysql   如果提示没有这个命令,先进入MYSQL的安装位置下BIN目录再运行mysql>use mysql 
>update user set password=password("new_password") where user="root"; 
>flush privileges; 
>exit

用Ctrl+Alt+Del,找到mysqld-nt的进程杀掉它,在重新启动mysql-nt服务( net start mysql ),就可以用新密码登录了

在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 。