9

如何授予多个数据库?mysql。

就像是

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

2 回答 2

21

您只需要在 db_name 前缀周围使用反引号而不是引号。

我认为这会起作用:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON `databasesprefix%`.*
TO testuser@localhost IDENTIFIED BY 'testpasswd';
于 2010-07-08T14:17:00.530 回答
9

你的例子应该有效。来自(5.5)手册

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

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

< UPDATE >正如另一个答案指出的那样:如果数据库名称包含通配符,则必须用标识符引号字符引用,反引号(“`”)</ UPDATE >

于 2010-07-08T14:16:52.787 回答