我正在尝试撤销 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'
正如你在上面看到的,我想要
撤销rachit用户对“test123”数据库的“names123”表的选择权限,但SELECT正在运行。
为了更好地理解,我在下面附上了屏幕截图。 https://ibb.co/GRtjXX7
最佳答案
如果您GRANT ALL ON test123.* TO 'rachit'@'localhost'
,您无法通过运行REVOKE ALL ON test123.* TO 'rachit'@'localhost' 来删除一个表
.
一些 DBMS 系统专门使用 DENY
选项专门拒绝对特定表的访问,但 mysql 的情况并非如此。
您可以考虑编写脚本并一一授予对每个表的访问权限
关于mysql - MySQL中如何设置表级权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54657394/