多个数据库上的授权。MySQL

11

如何在多个数据库上授予权限? MySQL。

类似于

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON 'databasesprefix%'.*
TO testuser@localhost IDENTIFIED BY 'testpasswd';
2个回答

22
你只需要在 db_name 前后使用反引号(`)而不是引号即可。
我认为这样会起作用:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON `databasesprefix%`.*
TO testuser@localhost IDENTIFIED BY 'testpasswd';

1
“在授权语句的db_name中,您不能使用通配符。” 可以的。 - quantumSoup

9

您的示例应该是有效的。从(5.5) 手册中:

在授予全局或数据库级别权限的GRANT语句中指定数据库名称时,允许使用“_”和“%”通配符。

%匹配任意数量(甚至零个)字符,_只匹配一个字符。如果您想在数据库名称中使用_,则必须将其作为\_进行转义。还请注意手册中的其他注意事项。

<更新>如其他答案所指出:如果数据库名称包含通配符,则必须使用标识符引用字符,即反引号(“`”)进行引用</更新>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接