2009-10-05 91 views
0

下面做工作按预期:GRANT语句中的通配符?

GRANT ALL ON *.* to 'someuser'@'%' identified by 'somepass'; 

我可以使用通配符的数据库名称,如:

GRANT ALL ON someDB*.* to 'someuser'@'%' identified by 'somepass'; 
+2

对30个问题的接受度低于25%? – 2009-10-05 05:12:10

回答

3

MySQL 5.1 documentation

的 “_” 和 “%” 通配符允许在指定 中的数据库名称时使用 GRANT语句在全局或数据库中授予特权 se水平。例如,如果您要 将“_”字符用作 数据库名称的一部分,则应该在GRANT语句中将其指定为“\ _”, 表示禁止用户以 访问与 匹配的通配符模式的其他数据库;例如, GRANT ... ON '富\ _bar' * TO ....

1

您可以使用此代码:

GRANT ALL ON `someDB_%`.* TO 'someuser'@'%' IDENTIFIED BY 'somepass'; 

您必须使用 “`” 作为字符在数据库名称上指定通配符。