教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 修改MYSQL的root权限与密码的方法

修改MYSQL的root权限与密码的方法

发布时间:2016-02-22   编辑:jiaochengji.com
本文介绍下,修改mysql的root权限、root密码的方法,适用于windows与linux系统,感兴趣的朋友参考下。

本节内容:
修改MYSQL的root权限与密码

忘记MySQL root密码,windows操作系统中,可以使用如下的方法重新设置:

1,KILL掉系统里的MySQL进程;

2,在命令提示符下(CMD),进入到MYSQL的BIN目录,用以下命令启动MySQL,以不检查权限的方式启动;
 

复制代码 代码示例:
mysqld-nt --skip-grant-tables

3,重新开打一个命令提示符的窗口(CMD)用空密码方式,使用root用户登录MySQL;
 

复制代码 代码示例:
mysql -u root

4,修改root用户的密码;
 

复制代码 代码示例:
mysql> update mysql.user set password=PASSWORD('uenucom') where User='root';
mysql> flush privileges;
mysql> quit

5,重新启动MySQL服务,就可以使用新密码登录了。

几种破解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 uenucom@"%" = PASSWORD('biscuit');

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

方法六
使用GRANT ... IDENTIFIED BY语句
 

复制代码 代码示例:
mysql> GRANT USAGE ON *.* TO juenucom@"%" 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("uenucom") 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 "uenucom"

c:\mysql\bin>mysqladmin -u root -p shutdown

将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。

6.停止MySQL Server,用正常模式启动Mysql

7.你可以用新的密码链接到Mysql了。

Unix&Linux:
  

1. 先结束mysql 进程
  # killall mysqld

  2. 用mysql 安全模式运行并跳过权限难
  # mysqld_safe --skip-grant-tables

  3. 用root 登录 ,此时不需要密码
  # mysql -u root

  4. 开始修改密码
  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('123456') where User = 'root' ;
  Query OK, 2 rows affected (0.02 sec)
  Rows matched: 2  Changed: 2  Warnings: 0
  mysql> quit
  Bye

  OK,成功了!
 

  注意:当运行' mysqld_safe --skip-grant-tables' 后停在'Starting mysqld daemon with databases from /var/lib/mysql' ,可以新开一个远程终端,继续操作。

您可能感兴趣的文章:
修改mysql密码与忘记mysql密码的处理方法
mysql修改root密码的几种方法
学习mysql root密码修改的方法及工具使用
mysql root密码忘记怎么办 mysql中root密码修改方法
修改mysql数据库密码的方法
linux下mysql用户管理方法
linux中Mysql的登陆与设置密码步骤
修改MYSQL的root权限与密码的方法
mysql root用户远程登录命令
mysql修改密码的六种方法

[关闭]
~ ~