停止 mySQL GRANT ALL,而不仅仅是擦除

Posted

技术标签:

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

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

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

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

我只是想删除最后一个创建的数据库的用户和 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

【讨论】:

但它会撤销所有数据库的权限,不是吗?我在考虑从现在开始不授予,而是保留旧的 参考此链接:***.com/questions/17799806/… 谢谢,但还不够。他们展示了如何删除权限..我只想停止申请新数据库而不为每个新数据库删除它们。【参考方案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] 没有回答这个问题。我只是希望这些特权不适用于新数据库。正如您所展示的,我必须对每个新数据库运行该命令。

以上是关于停止 mySQL GRANT ALL,而不仅仅是擦除的主要内容,如果未能解决你的问题,请参考以下文章

mysql GRANT ALL PRIVILEGES ON创建用户

解决mysql的赋权操作之GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION问题

mysql访问权限GRANT ALL PRIVILEGES ON,访问权限表

Mysql grant all privileges on ...不生效解决方案

mysql 赋给用户远程权限 grant all privileges on

拒绝拥有 GRANT ALL PRIVILEGES 的用户的 CREATE 命令