破解/重设mysql数据库密码
windows下破解mysql密码:
1.cmd
2.net stop mysql
3.打开第一个命令行窗口切换到mysql安装目录下的bin目录。执行mysqld-nt --skip-grant-tables
4.打开第二个命令行窗口,mysql -u root -p
5.use mysql;
show tables;
select * from user;
update user set password=password("abc123") where user='root';6. 在任务管理器中,结束mysqld-nt的进程。
7. 执行net restart mysql重新启动mysql服务就可以用新密码登陆mysql。
------------------------------------------------------------------------------------------------------
linux下破解mysql密码:
方法一、
在my.ini (linux下是/etc/my.conf)的[mysqld]字段加入:
skip-grant-tables
重启mysql服务,这时的mysql不需要密码即可登录数据库然后进入mysql
mysql -u root -p
mysql>use mysql;
mysql>update user set password=password("abc123") where user='root';
mysql>flush privileges;
运行之后最后去掉my.ini中的skip-grant-tables.重启mysqld即可。
方法二、
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit# /etc/init.d/mysql restart
# mysql -uroot -pEnter password: <输入新设的密码newpassword>
------------------------------------------------------------------------------------------------------
mysql密码修改
方法一 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(iscuit));
mysql> FLUSH PRIVILEGES 确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。
在《mysql中文参考手册》里有这个例子,所以我也就写出来了。 注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。 方法三 和方法三一样,只是使用了REPLACE语句 mysql> REPLACE INTO mysql.user (Host,User,Password) VALUES(%,jeffrey,PASSWORD(iscuit)); mysql> FLUSH PRIVILEGES 方法四 使用SET PASSWORD语句, mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD(iscuit); 你也必须使用PASSWORD()函数, 但是不需要使用FLUSH PRIVILEGES。 方法五 使用GRANT ... IDENTIFIED BY语句 mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY iscuit; 这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。 注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。 方法七 update user set password=PASSWORD("新密码") where user='root';
--------------------------------------------------------
据说可以用直接修改user表文件的方法:
关闭MySQL,Windows下打开Mysql\data\mysql,有三个文件user.frm,user.MYD,user.MYI找个知道密码的MySQL,替换相应的这三个文件,如果user表结构没改过,一般也没人去改,替换user.MYD就可以了。
也
可以直接编辑user.MYD,找个十六进制编辑器,UltraEdit就有这个功能。关闭MySQL,打开user.MYD。将用户名root后面的八
个字符改为565491d704013245,新密码就是123456。或者将它们对应的十六进制数字,(左边那里,一个字符对应两个数字),改
为 00 02 02 02 02 02 02 02,这就是空密码,在编辑器右边看到的都是星号*,看起来很象小数点。重开MySQL,输入root和
你的新密码。
版权所有:《太阳花工作室》 => 《破解/重设mysql数据库密码》
本文地址:http://bg.artuion.com/win_lin_mac/29.html
除非注明,文章均为 《太阳花工作室》 原创,欢迎转载!转载请注明本文地址,谢谢。