授予选择除Table1之外的所有表

时间:2015-08-31 07:33:54

标签: mysql

我在Linux中使用MySQL 5.5.42。

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

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

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

对于User1,我必须在Dataabse1.Table2,Table3,Table4,Table5,...上授予select。

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

还有其他更快捷的方法吗?

非常感谢。

Alvin SIU

1 个答案:

答案 0 :(得分:0)

您可以尝试这样:

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