【问题标题】:The difference between MySQL wildcards for granting permissionsMySQL通配符授予权限的区别
【发布时间】:2013-10-09 10:50:00
【问题描述】:

在向用户授予权限时,用户名/主机字段中的*%Any 有什么区别,它们的组合有何不同?

例如:

GRANT ALL PRIVILEGES ON db.* TO '*'@'Any';

会不会和这个一样

GRANT ALL PRIVILEGES ON db.* TO 'Any'@'%';

EDIT:我想到的 Any 字段来自 phpMyAdmin。也许它意味着不同的东西?我在下面粘贴了一个屏幕截图来说明我的意思。

【问题讨论】:

    标签: mysql database sql-grant database-permissions


    【解决方案1】:

    “any”这个词没有特殊含义。

    MySQL 不支持用户名中的通配符,所以第一个例子是非法的。要从名为 any 的主机向匿名用户授予权限,请使用:

    GRANT ALL PRIVILEGES ON db.* TO ''@'Any';
    

    第二个例子是合法的,但它授予一个名为“any”的用户,该用户可以从任何主机连接。

    【讨论】:

    • 感谢您的回答。 Any 字段显然来自 phpMyAdmin,我更新了我的答案以说明我需要理解的具体示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    相关资源
    最近更新 更多