Linux下Mysql root用户失去特权怎么办(亲测可行)

问题

在linux Ubuntu18.04下安装mysql相比于Windows下容易很多,利用apt-get可以轻松解决。
但本人由于安装后第一次使用修改root密码,删除掉了原有root用户并新建root用户,导致root超级权限丢失,整个server跟死了一样因为没有任何用户有超级权限进行管理了。

解决方案

linux毕竟代码开源,几乎没有解决不了的问题(但也存在很多不稳定性),首先要有信心。

1. 如果现在已经开启了 mysql-server服务,在终端运行以下代码关闭:

service mysql stop

2. 进入目录/etc/mysql/mysq.conf.d/,打开 mysqld.cnf文件,在如图所示位置加上skip-grant-tables。这样再次登录的时候,在提示输入密码时可以直接按回车跳过,并且拥有root本来的权限。

Linux下Mysql root用户失去特权怎么办(亲测可行)_第1张图片

3. 在终端运行如下代码

开启服务

service mysql start

之后运行

mysql -u root -p

之后提示输入密码,直接按回车

进入mysql>
输入以下代码恢复超级权限。

update user set Update_priv=‘Y’ where user=‘root';
update user set Grant_priv =’Y’ where user = ‘root';
flush privileges;

于是root用户拥有了权限。

4. 重启服务

按照2中的内容,关闭服务,删除到刚才添加的那一行代码,保存,重启服务。
使用之前的root用户以及密码登录。
这时候就拥有超级权限了。

你可能感兴趣的:(mysql)