[转]Mysql忘记密码后的解决办法

[windows]
1、停止 mysql服务:打开命令行窗口CMD,Net stop mysql
2、用另外一种方式启动Mysql:在命令行进入到mysql的 安装路径下的bin目录下使用mysqld-nt.exe启动:mysqld-nt --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 

你可能感兴趣的:([转]Mysql忘记密码后的解决办法)