mysql授予如何与多个通配符和更具体的授予语句一起使用?

时间:2019-01-29 09:47:58

标签: mysql grant

对于某个用户,我在数据库级别上有几个Grants特权语句。如果我运行show grants,将会看到:

GRANT USAGE ON *.* TO 'user1'@'%'
GRANT INSERT, UPDATE, DELETE, CREATE ON `db1`.* TO 'user1'@'%'
GRANT INSERT, UPDATE, DELETE, CREATE ON `db_with_pattern_\_%`.* TO 'user1'@'%'
GRANT SELECT ON *.* TO 'user1'@'%'

我希望然后最后一行将授予所有模式的user1 SELECT特权,而前几行将授予INSERT, UPDATE, DELETE, CREATE特定的模式,因此并且由于最后一行将SELECT授予在所有架构上。 但这是行不通的。但是,当我尝试从某个表db1db_with_pattern_\_%中选择MySQL抛出select denied for user user1时,user1仍然可以在数据库中的任何其他架构上运行select。

我浏览了MySQL文档的grant-privileges部分,并且在存在更具体的GRANT语句时并没有对限制通配符特权进行任何澄清。

在授予语句中使用特定模式时,我应该每次都明确指定SELECT还是做错了什么?

0 个答案:

没有答案