代码之家  ›  专栏  ›  技术社区  ›  Ollie Pugh

拒绝访问我有权访问的数据库

  •  0
  • Ollie Pugh  · 技术社区  · 6 年前

    我正在尝试使用phpmyadmin向另一个用户授予权限,我可以访问根用户(cl43 flexfit)并尝试查询以下内容

    GRANT ALL PRIVILEGES ON `cl43-flexfit`.* TO 'supuser'@'localhost';
    

    但收到的答复是:

    Access denied for user 'cl43-flexfit'@'%' to database 'cl43-flexfit'
    

    SHOW GRANT

    展示了这些:

    GRANT USAGE ON *.* TO 'cl43-flexfit'@'%' IDENTIFIED BY PASSWORD 'password'
    
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, TRIGGER ON `cl43-flexfit`.* TO 'cl43-flexfit'@'%' WITH GRANT OPTION
    

    cl43-flexfit .*与*.*)我得到一个错误,说我没有权限

    Access denied for user 'cl43-flexfit'@'%' (using password: YES)
    

    我一直在与我的主机服务,他们说,一切都是正确的,在他们的结束。

    我也没有权限访问PHPMyAdmin中的特权选项卡,因此无法使用GUI,必须通过编写命令来完成。

    0 回复  |  直到 6 年前
        1
  •  1
  •   Michael - sqlbot    6 年前

    你不能 GRANT ALL 除非你也坚持 全部的 特权,以及 GRANT OPTION

    您必须明确地授予权限,并且只列出您拥有(和想要授予)的权限。

    任何东西 ON *.* 除非您在所有对象上全局持有您试图授予的特权,以及 . 再说一次,你没有这个。

    USAGE 只有 打开**

    如果有其他用户,则只能使用自己的格式显式授予列出的权限 SHOW GRANTS 输出。

    GRANT SELECT, INSERT, [more...], TRIGGER ON `cl43-flexfit`.* TO 'my-other-existing-user'@'%';