【问题标题】:Revoke Delete privilege (There is no such grant defined for user)撤销删除权限(没有为用户定义这样的授权)
【发布时间】:2020-07-02 10:20:14
【问题描述】:

我正在尝试撤销 mysql 用户上的 Delete

我用过这段代码

  REVOKE DELETE
   ON *.*
   FROM 'sample_user'@'%';

但这会给我带来类似的东西

错误代码:1141。 没有为用户定义这样的授权

可以撤销吗?目前我有这个特权

 GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW 
  DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, 
 CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CR...

我只想删除Delete 权限

【问题讨论】:

  • 如果执行查询SHOW GRANTS FOR 'sample_user'@'%',你会看到什么?

标签: mysql privileges sql-revoke


【解决方案1】:

您似乎在database.* 级别应用了所有特权权限。 您不能只撤销 database.* 级别的权限,因为所有权限不会简单地传递到各个表。

尝试在数据库级别一起擦除权限。 然后,您可以在表格的基础上授予和撤销它们。

REVOKE 语句的效果取决于权限级别:

全球层面
这些更改在用户帐户在后续会话中连接到 MySQL 服务器时生效。这些更改不会应用于所有当前连接的用户。

数据库级
更改在下一个 USE 语句后生效。

表和列级别
更改对所有后续查询生效。

【讨论】:

    猜你喜欢
    • 2016-09-19
    • 2013-02-13
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 2015-01-13
    相关资源
    最近更新 更多