繁体   English   中英

如何撤销一张表的MySQL用户权限?

[英]How to revoke MySQL user privileges for one table?

当我向用户授予某些特定表的权限时:

GRANT ALL PRIVILEGES ON table1.* TO 'user1'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON table2.* TO 'user1'@'localhost' IDENTIFIED BY 'password';

我如何撤销此用户的权限,仅适用于table1

谷歌是你的朋友! http://dev.mysql.com/doc/refman/5.7/en/revoke.html

句法:

REVOKE ALL PRIVILEGES ON table1.* FROM 'user1'@'localhost';

为了进一步解释这个答案——我会教你如何钓鱼(而不是只给你一条鱼)。

MySQL 文档乍一看可能令人困惑 - REVOKE的“语法” REVOKE

REVOKE
    priv_type [(column_list)]
      [, priv_type [(column_list)]] ...
    ON [object_type] priv_level
    FROM user [, user] ...

REVOKE ALL PRIVILEGES, GRANT OPTION
    FROM user [, user] ...

REVOKE PROXY ON user
    FROM user [, user] ...

这意味着有 3 种“方式”来调用它:

  1. REVOKE priv_type ...
  2. REVOKE ALL PRIVILEGES, GRANT ...
  3. REVOKE PROXY ON ...

这三个在 MySQL 文档页面中由空行​​分隔。

对于其中的每一个,都有“可选”参数/设置/值。 这些由方括号表示,例如:

REVOKE priv_type [(column_list)] ...

(column_list)是可选的。 你可以提供它,但你没有必要

更新说明,2019 年 12 月:

priv_type是特别让我们知道我们可以指定ALL PRIVILEGES 因为我们在上面链接的文档中被告知:

有关权限存在的级别、允许的priv_typepriv_levelobject_type values以及指定用户和密码的语法的详细信息,请参阅第 13.7.1.4 节,“ GRANT语句”。

第 13.7.1.4 节说明了这一点:

MySQL 支持的权限

下表总结了可以为GRANTREVOKE语句指定的允许的 priv_type 权限类型,以及可以授予每个权限的级别。

  • ALL [PRIVILEGES]授予指定访问权限的所有权限

结束更新。 )

类似地,您可以将这些链接在一起 - 他们缩进下一行以表明这一点(并使用...来表明您可以继续重复):

priv_type [(column_list)]
  [, priv_type [(column_list)]] ...    <-- indented, and note the "..."

MySQL 文档中存在更复杂的示例 - 例如对于CREATE TABLE您有可选标志列表:

[COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]

{x|y|z}语法表示您必须指定其中之一( {...}是非可选的, [...]表示里面的所有内容都是可选的 - 因此,如果您指定COLUMN_FORMAT ,则是三个中的一个下面的标志是必需的),管道( | )表示只能指定列表(一个FIXED / DYNAMIC / DEFAULT )。


最后要说的一件事 - 非常了解 MySQL 文档版本 它在网站上的几个地方都有说明 - 我个人只是看一下 URL:

http://dev.mysql.com/doc/refman/5.7/en/create-table.html

请注意,里面写着5.7 这意味着您正在阅读的文档可能不适用于 MySQL 5.7 以外的任何版本。 这让我咬了很多次......通常是当我在恐慌中试图修复某些东西时! 总是仔细检查它。

这是误导。 该语句是撤销一个架构中的权限,而不是一个表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM