【问题标题】:Grant user to multiple db but only one table授予用户多个数据库但只有一个表
【发布时间】:2020-09-14 04:02:43
【问题描述】:

我正在尝试向一个用户授予对我系统上创建的多个数据库的访问权限,如下所示:

dbUser_1 dbUser_2 ...

等等。

我可以使用GRANT SELECT, INSERT, UPDATE ON `dbUser\_%`.* TO 'kenny'@'localhost'; 让kenny用户插入,选择和更新ALLL每个db的表。

我正在寻找这样的东西:注意,这不起作用: GRANT SELECT, INSERT, UPDATE ON `dbUser\_%`.*`bill` TO 'kenny'@'localhost';

让 kenny 可以访问每个 db 上的所有账单表。

¿有可能吗?

我正在使用 mysql。 提前致谢。

【问题讨论】:

    标签: mysql database grant


    【解决方案1】:

    你可以用这个:

    GRANT SELECT, INSERT, UPDATE ON DBNAME.TABLE_NAME TO USERNAME
    

    所以它会是这样的:

    GRANT SELECT, INSERT, UPDATE ON dbUser\_%.* TO 'kenny'@'localhost';
    

    更多检查: https://dev.mysql.com/doc/refman/5.7/en/grant.html

    更新: 指定表级权限时,DB 中的通配符被视为字符 _ 和 %。它们不再是通配符。请参阅“对象引用指南”(@mhost) 下的 GRANT 文档

    【讨论】:

    • 嗨 Voli,这个答案对我不起作用,因为我正在寻找授予对具有相同前缀(dbUser_1,dbUser_2 ...)的所有数据库的访问权限,但只有一个表每个数据库 (bill) 当我尝试使用通配符授予时,系统告诉我“表不存在”......我需要这个解决方案来让这个用户更新系统的未来数据库。感谢您的回答。
    • 我只能将您重定向到此:stackoverflow.com/questions/2668591/… 抱歉,我无法帮助您:)
    猜你喜欢
    • 2021-02-12
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    相关资源
    最近更新 更多