【问题标题】:Grant select to all tables except Table1授予对除 Table1 之外的所有表的选择
【发布时间】:2015-11-25 04:24:57
【问题描述】:

我在 Linux 中使用 MySQL 5.5.42。

我可以在 Database1 中除 Table1 之外的所有表上将 SELECT 授予 User1 吗?

这是因为Table1包含敏感数据,User1不允许读取。

对于其他用户,我可以轻松地在 Database1 上授予选择权限。*

对于 User1,我必须在 Dataabse1.Table2、Table3、Table4、Table5 上授予选择权限...

这很麻烦,尤其是在向 Database1 添加新表时。

还有其他更快的方法吗?

非常感谢。

萧亚文

【问题讨论】:

标签: mysql


【解决方案1】:

你可以这样试试:

SELECT CONCAT("GRANT SELECT ON db.", yourtable, " TO user@localhost;")
FROM information_schema.TABLES
WHERE table_schema = "databasename" AND yourtable <> "excepttable";

【讨论】:

    猜你喜欢
    • 2019-01-07
    • 2019-04-13
    • 2020-05-29
    • 1970-01-01
    • 2018-03-19
    • 2017-07-06
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    相关资源
    最近更新 更多