问题描述:

在使用wamps时,登录localhost/phpmyadmin后,在数据库页面创建一个新的数据库时,1.显示“无权限操作”,2.“账户”页面无法修改权限操作,且最底端的注意显示用户权限不够。

解决方法:

1.尝试了网上说的修改配置文件config.inc.php(修改phpmyadmin的登陆方式:cookie和http、添加 $cfg['Servers'][$i]['DisableIS'] = true;)都无效以后,在MySQL官网上找到了答案:

https://dev.mysql.com/doc/refman/5.7/en/creating-accounts.html#creating-accounts-granting-privileges

打开MySQL的终端,查看root用户的权限:

show grants for 'root'@'localhost';

 

 如果报错的话:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

2.刷新一下权限表:

flush privileges;

 

3.把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户

grant all on cactidb.* to root@'localhost' identified by 'psaaword'

 

4.刷新一下,然后show一下root用户的权限

Mysql root 权限 没有select mysql没有权限创建数据库_MySQL

 

 

 有全部权限了,且可以授权。因此,在我看来,MySQL里,里面的super权限<all privileges。有个问题就是,在页面中,root显示的也是all privileges权限,但是权力不到位啊,可能显示的是个寂寞吧。

【这里有一篇MySQL的权限详解文章:https://cloud.tencent.com/developer/article/1056271】

5.这里有个小插曲,我在输入命令时,输错一个字符,创建了一个新的用户,并将用户赋予所有权限,因此再次查询root用户时,显示的root为代理状态。

Mysql root 权限 没有select mysql没有权限创建数据库_MySQL_02

 

 

 因此,清除一下代理就行了,原来美少女的烦恼真的多,输入错也是一种痛苦。。。【老实人.jpg】

truncate table mysql.proxies_priv;

 

6.回到phpmyadmin页面,页面如果还没有改的。查看账户状态下面的提示,如果有重新载入,则点击;如果没有,则会提示缺少的具体的权限。比如我的显示的是无RELAOD权限。那我就直接在MySQL终端添加权限:

grant all ON *.* to 'root'@'localhost' with grant option;#保险起见,all一下

 

flush privileges;
show grants for 'root'@'localhost';#每次操作完看看
grant all on cactidb.* to root@'localhost' identified by 'root';#添加cactibd权限

 

show一下,然后flush

Mysql root 权限 没有select mysql没有权限创建数据库_root用户_03

 

 

 继续添加权限:

grant all on reload.* to root@'localhost' identified by 'root';
grant all on process.* to root@'localhost' identified by 'root';

 

查看:

Mysql root 权限 没有select mysql没有权限创建数据库_php_04

 

 

 7.查看登录页面,问题解决,可以新建数据库啦!账户也没有问题啦!

Mysql root 权限 没有select mysql没有权限创建数据库_MySQL_05

 

 

 原因:

我找了好多资料,貌似都没有说到底层的真正原因。猜想要么又是我的环境问题,要么就是软件本身版本问题。

收获:

  • 无论是遇到什么问题,页面会提供官网链接的,一般都可以在官网找到答案。[mysql参考手册]
  • 遇到的大的问题单独记下来
  • phpmyadmin登录方式:
  • MySQL错误:

 

珍惜时间,只错一次