【问题标题】:Stop mySQL GRANT ALL, not just erasing停止 mySQL GRANT ALL,而不仅仅是擦除
【发布时间】:2014-05-22 13:45:39
【问题描述】:

想象一下我运行这个命令:

GRANT ALL PRIVILEGES ON *.* TO 'user'@'host';

现在在每个新数据库中,用户都拥有完全访问权限。 问题是,想象在某些时候我希望那些 . 权限不适用于新数据库。 那可能吗?

我只是想删除最后一个创建的数据库的用户和 GRANT 权限,但如果它们有很多可能会很困难......我想知道是否有“从现在开始撤销......”隐藏来自谷歌命令。

【问题讨论】:

    标签: mysql privileges grant


    【解决方案1】:

    试试这个,它对我有帮助,可能你也是

    REVOKE ALL on dbName.* from 'user'@'host';
    FLUSH PRIVILEGES;
    

    【讨论】:

    • 这将删除所有 db's.tables 的所有权限。我只是想停止向新数据库播放“GRANT ALL PRIVILEGES”。
    • 您可以根据更新的答案提供 dbName 来过滤掉。希望对你有帮助
    【解决方案2】:

    试试这个:

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

    https://dev.mysql.com/doc/refman/4.1/en/revoke.html

    【讨论】:

    • 但它会撤销所有数据库的权限,不是吗?我在考虑从现在开始不授予,而是保留旧的
    • 谢谢,但还不够。他们展示了如何删除权限..我只想停止申请新数据库而不为每个新数据库删除它们。
    【解决方案3】:

    也许你应该试试这个

    REVOKE [type of permission] ON [database name].[table name] FROM ‘[username]’@‘localhost’;
    
    • ALL PRIVILEGES - 这将允许 MySQL 用户对指定数据库的所有访问权限(或者如果没有选择数据库,则在整个系统中)
    • CREATE- 允许他们创建新表或数据库

    • DROP-允许他们删除表或数据库

    • DELETE- 允许他们从表中删除行

    • INSERT- 允许他们将行插入到表中

    • SELECT- 允许他们使用 Select 命令读取数据库

    • UPDATE-允许他们更新表行

    https://www.digitalocean.com/community/articles/how-to-create-a-new-user-and-grant-permissions-in-mysql

    【讨论】:

    • 问题是 ON [database name] 没有回答这个问题。我只是希望这些特权不适用于新数据库。正如您所展示的,我必须对每个新数据库运行该命令。
    猜你喜欢
    • 2012-02-13
    • 1970-01-01
    • 2013-12-05
    • 2014-02-14
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    相关资源
    最近更新 更多