日期:2014-05-16  浏览次数:20743 次

忘记mysql密码解决方案
[windows]
1、停止mysql服务:打开命令行窗口CMD,Net stop mysql
2、用另外一种方式启动Mysql:在命令行进入到mysql的安装路径下的bin目录下使用mysqld.exe启动:mysqld --skip-grant-tables
   注意:此时CMD窗口不能关闭。
3、进入Mysql:另外打开一个命入令行窗口,在bin目录下执行mysql,此时无需输入密码即可进入。
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
>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"

4、使用任务管理器,找到mysqld-nt的进程,结束进程!
5、重新启动mysql服务,net start mysql 就可以用新密码登录了。

[linux]
1、关闭Mysql: 如果 MySQL 正在运行,首先杀之 killall -TERM mysqld
2、另外的方法启动 MySQL :bin/safe_mysqld --skip-grant-tables &
3、可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
   注意点同上
4、重新杀 MySQL ,用正常方法启动 MySQL 。
为了您的安全,请只打开来源可靠的网址
打开网站    取消
来自: http://hi.baidu.com/gym%5F1119/blog/item/3ef05d080a9c23d962d98698.html