向用户授予权限时,用户名/主机字段中*
,%
,Any
之间的区别是什么,以及它们的组合有何不同?
例如:
GRANT ALL PRIVILEGES ON db.* TO '*'@'Any';
这与
相同GRANT ALL PRIVILEGES ON db.* TO 'Any'@'%';
编辑:我想到的Any
字段来自phpMyAdmin。也许这意味着不同的东西?我在下面贴了一个截图来说明我的意思。
答案 0 :(得分:1)
“any”这个词没有特别的含义。
MySQL不支持用户名中的通配符,因此第一个示例是非法的。要从名为any
的主机向匿名用户授予权限,请使用:
GRANT ALL PRIVILEGES ON db.* TO ''@'Any';
第二个例子是合法的,但是它向可以从任何主机连接的名为“any”的用户授予权限。