问题
在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本来的权限。
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用户以及密码登录。
这时候就拥有超级权限了。