论坛风格切换
  • 4053阅读
  • 1回复

[mysql]忘记mysql密码处理方法 [复制链接]

上一主题 下一主题
离线太史慈
 

发帖
766
金币
626
威望
556
只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-05-11
最好用的mysql密码忘记的解决方法

windows下:
打开命令行窗口,停止mysql服务:
Net stop mysql
启动mysql,一般到mysql的安装路径,找到 mysqld-nt.exe (或mysqld.exe)
执行:mysqld-nt (或mysqld.exe) --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服务,就可以用新密码登录了

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库替换:(一定要先备份)
1,重新在另一台电脑上安装相同版本的MySQL
2,删除忘记密码的电脑中MySQL安装目录中\data\mysql的全部内容(要先停止MySQL服务)
3,Copy新装的电脑上MySQL安装目录中\data\mysql的全部内容 to 刚刚删除的目录中
4,启动MySQL服务


这里注意到,是涉及--skip-grant-tables的使用,是使启动时不需要输入帐号密码。
[url=http://www.phpwind.com]phpwind[/url]
离线太史慈

发帖
766
金币
626
威望
556
只看该作者 沙发  发表于: 2011-05-11

当然,把mysql服务关闭后,把将user.frm、user.MYD、user.MYI这三个文件用其他已知密码的三个文件替换,密码将会被初始化成已知文件。

附件是mysql/data/mysql/user.frm、user.MYD、user.MYI

我本地的三个文件,初始密码是phpwind.net

上传覆盖后密码将被初始化。记得mysql服务关闭,不然。。。

还有,所有帐号都被初始化,其他帐号需要重新添加!只有一个root
附件: mysql.zip (2 K) 下载次数:64
[url=http://www.phpwind.com]phpwind[/url]
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
提到某人:
选择好友
上一个 下一个