[redhat 6.7+Mysql5.7] root权限丢失、降权恢复菜鸟教程

  • 产生问题
  • 解决办法
    • (1)停止mysql的运行
    • (2)修改配置myf文件
    • (3)重新授权
    • (4)关mysql,并改回原来的配置
    • (5)注意。

产生问题

作为一个菜鸟,在修改root的访问权限时,为了不让所有人访问,需要把root的远程授权取消。即把root@’%’,修改为root@‘localhost’,或者单个IP。
但在修改过程中,不小心造成root@‘*’了,导致远程与本地都无法访问,但用户名和密码都是没有修改的,依然知道。

解决办法

(1)停止mysql的运行

//停止mysql
[root@localhost ]# service mysql stop;
Shutting down MySQL....                    [  OK  ]

(2)修改配置myf文件

//查找mysql的配置文件并编辑
[root@localhost ]# find / -name my.cnf
/usr/local/mysql/my.cnf
[root@localhost ]# vi /usr/local/mysql/my.cnf
。。。
在mysql安装目录中,用记事本打开my.ini 在最后一行加入如下代码:
skip-grant-tables
保存,启动mysql
[root@localhost ]# service mysql start;
Starting MySQL.                              [  OK  ]

(3)重新授权

[root@localhost ]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 115
Server version: 5.7.24 MySQL Community Server (GPL)

mysql> use mysql;
mysql> update user set Update_priv ='Y' where user ='root';
mysql> update user set Grant_priv ='Y' where user ='root';
mysql> flush privileges;
mysql> grant all privileges on *.* to root@'localhost' identified by '**你的密码'** with grant option;
mysql> flush privileges;

在执行过程序中没有出现错误,就基本搞定。

(4)关mysql,并改回原来的配置

//停止mysql
[root@localhost ]# service mysql stop;
Shutting down MySQL....                    [  OK  ]
[root@localhost ]# vi /usr/local/mysql/my.cnf
。。。
#skip-grant-tables  

即把skip-grant-tables加上#,注释掉后保存文件后启动mysql,即时就可以访问了。

(5)注意。

修改授权的时候,最好使用Mysql工具。

双击root@%,把%修改成localhost即可

更多推荐

[redhat 6.7+Mysql5.7] root权限丢失、降权恢复菜鸟教程