停止 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 ...不生效解决方案