破解mysql的root密码的几种方法

在mysql中修改密码一般是指修改root密码了,如果是其它用户的密码我们修改很简单的,一般可直接使用phpmyadmin进行修改了,下面我来给大家介绍修改密码并设置用户权限的方法。

几种破解mysql root密码的几种方法:
方法一

使用phpmyadmin来更改root密码

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

使用phpmyadmin来更改Mysql的root密码非常方便,安装配置好phpmyadmin后,首先登陆管理界面,点击右侧修改密码链接,输入你要修改的Mysql的root新密码,最后点击执行即可,

方法二

这里需要注意phpmyadmin默认是不允许Mysql的root默认密码为空登陆的,如果不小心在修改密码界面选择了空密码,你需要修改phpmyadmin的配置文件以便重新登录phpmyadmin来实现更改mysql root密码的功能。具体怎么修改下次我会说明。

使用mysqladmin,这是前面声明的一个特例。

使用mysqladmin输入:

mysqladmin -u root -p password mypasswd

 mysqladmin -u root -p oldpassword newpasswd

输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。

执行这个命令后,需要输入root的原密码,这样root的密码将改为newpasswd。同样MySQL或者你没有办法执行mysqladmin,那么这种方法就是无效的,而且mysqladmin无法把密码清空。  

把命令里的root改为你的用户名,你就可以改你自己的密码了。

下面的方法都在MySQL提示符下使用,且必须有MySQL的root权限。

当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,那么这种方法就是无效的,而且mysqladmin无法把密码清空。

方法三:

下面的方法都在mysql提示符下使用,且必须有mysql的root权限:

 代码如下

方法三

复制代码

mysql> Insert INTO mysql.user (Host,User,Password)

 mysql> INSERT INTO mysql.user (Host,User,Password) VALUES (’%’,’system’, PASSWORD(’manager’)); mysql> FLUSH PRIVILEGES

VALUES(’%’,’jeffrey’,PASSWORD(’biscuit’));

确切地说这是在增加一个用户,用户名为system,密码为manager。注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES来执行确认。

mysql> FLUSH PRIVILEGES

 方法四:

确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。

 和方法三一样,只是使用了REPLACE语句:

在《mysql中文参考手册》里有这个例子:

 代码如下

注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。

复制代码

方法四

 mysql> REPLACE INTO mysql.user (Host,User,Password) VALUES(’%’,’system’,PASSWORD(’manager’)); mysql> FLUSH PRIVILEGES

和方法三一样,只是使用了REPLACE语句

方法五:

mysql> REPLACE INTO mysql.user (Host,User,Password)

 使用SET PASSWORD语句:  

VALUES(’%’,’jeffrey’,PASSWORD(’biscuit’));

 代码如下

mysql> FLUSH PRIVILEGES

复制代码

方法五

mysql> SET PASSWORD FOR [email protected]"%" = PASSWORD(’manager’);

使用SET PASSWORD语句,

你也必须使用PASSWORD()函数,但是不需要使用FLUSH PRIVILEGES来执行确认。

mysql> SET PASSWORD FOR [email protected]"%" = PASSWORD(’biscuit’);

root密码忘记解决方  linux中找回办法

拟也必须使用PASSWORD()函数,但是不需要使用FLUSH PRIVILEGES。

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:

方法六

 代码如下

使用GRANT ... IDENTIFIED BY语句

复制代码

mysql> GRANT USAGE ON *.* TO [email protected]"%" IDENTIFIED BY ’biscuit’;

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables

这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。

保存并且退出vi。
3.重新启动mysqld

注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。

 代码如下

MySQL 忘记口令的解决办法

复制代码

如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。

# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]

启动 MySQL :bin/safe_mysqld --skip-grant-tables &

4.登录并修改MySQL的root密码

就可以不需要密码就进入 MySQL 了。

 代码如下

然后就是

复制代码

>use mysql

# /usr/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye

>update user set password=password("new_pass") where user="root";

本文由太阳集团所有网址16877发布于太阳集团城网址送彩金,转载请注明出处:破解mysql的root密码的几种方法

您可能还会对下面的文章感兴趣: