破解mysql root密码的几种方法

作者:佚名    文章来源:本站整理    点击数:    更新时间:2008-5-21

网上流传的几种破解mysql root密码的几种方法:

方法一 
使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWORD函数。 

方法二 
使用mysqladmin,这是前面声明的一个特例。 
mysqladmin -u root -p password mypasswd 
输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。 
把命令里的root改为你的用户名,你就可以改你自己的密码了。 
当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,那么这种方法就是无效的,而且mysqladmin无法把密码清空。 

下面的方法都在mysql提示符下使用,且必须有mysql的root权限: 
方法三 
mysql> Insert INTO mysql.user (Host,User,Password) 
VALUES(’%’,’jeffrey’,PASSWORD(’biscuit’)); 
mysql> FLUSH PRIVILEGES 
确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。 
在《mysql中文参考手册》里有这个例子,所以我也就写出来了。 
注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。 

方法四 
和方法三一样,只是使用了REPLACE语句 
mysql> REPLACE INTO mysql.user (Host,User,Password) 
VALUES(’%’,’jeffrey’,PASSWORD(’biscuit’)); 
mysql> FLUSH PRIVILEGES 

方法五 
使用SET PASSWORD语句, 
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD(’biscuit’); 
拟也必须使用PASSWORD()函数,但是不需要使用FLUSH PRIVILEGES。 


方法六 
使用GRANT ... IDENTIFIED BY语句 
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY ’biscuit’; 
这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。 


注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。
MySQL 忘记口令的解决办法
如果 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 。


mysql密码清空
Windows: 
1.用系统管理员登陆系统。 
2.停止MySQL的服务。 
3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin 
4.跳过权限检查启动MySQL, 
c:\mysql\bin>mysqld-nt --skip-grant-tables 
5.重新打开一个窗口,进入c:\mysql\bin目录,设置root的新密码 
c:\mysql\bin>mysqladmin -u root flush-privileges password "newpassword" 
c:\mysql\bin>mysqladmin -u root -p shutdown 
将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。 
6.停止MySQL Server,用正常模式启动Mysql 
7.你可以用新的密码链接到Mysql了。

Unix&Linux: 
1.用root或者运行mysqld的用户登录系统; 
2.利用kill命令结束掉mysqld的进程; 
3.使用--skip-grant-tables参数启动MySQL Server 
shell>mysqld_safe --skip-grant-tables & 
4.为root@localhost设置新密码 
shell>mysqladmin -u root flush-privileges password "newpassword"
5.重启MySQL Server


mysql修改密码
  mysql修改,可在mysql命令行执行如下:
  mysql -u root mysql 
  mysql> Update user SET password=PASSWORD("new password") Where user=’name’; 
  mysql> FLUSH PRIVILEGES; 
  mysql> QUIT 

 

教你如何将MySQL数据库的密码恢复

因为MySQL密码存储于数据库mysql中的user表中,所以只需要将我windows 2003下的MySQL中的user表拷贝过来覆盖掉就行了。 

在c:\mysql\data\mysql\(linux 则一般在/var/lib/mysql/mysql/)目录下有三个user表相关文件user.frm、user.MYD、user.MYI 

user.frm //user表样式文件 

user.MYD //user表数据文件 

[1] [2] 下一页

  • 上一篇文章:
  • 下一篇文章: