我试图撤消MySQL数据库中特定表的选择特权。
数据库级别限制有效,但表级别无效。

当我写“表演资助”时
这就是我得到的:

| GRANT USAGE ON *.* TO 'rachit'@'localhost' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' |
| GRANT ALL PRIVILEGES ON `test123`.* TO 'rachit'@'localhost'                                                   |
| GRANT INSERT, UPDATE, DELETE ON `test123`.`names123` TO 'rachit'@'localhost'


如您所见,我想

在“ test123”数据库的“ names123”表上从rachit用户撤消选择特权,但是SELECT起作用。

我在下面附上了屏幕截图,以便于更好地理解。
https://ibb.co/GRtjXX7

最佳答案

如果您GRANT ALL ON test123.* TO 'rachit'@'localhost',则无法通过运行REVOKE ALL ON test123.* TO 'rachit'@'localhost'删除一个表。

一些DBMS系统的DENY选项专门用于拒绝对特定表的访问,但是mysql并非如此。

您可以考虑编写脚本并逐个授予对每个表的访问权限

08-28 08:35