首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GRANT with database name MySQL?

GRANT with database name MySQL?
EN

Stack Overflow用户
提问于 2010-04-19 23:19:58
回答 3查看 44.5K关注 0票数 44

我想创建一个对每个名为'projectA_%‘的数据库具有相同权限的用户'projectA’

我知道这是可能的,但MySQL不喜欢我的语法:

代码语言:javascript
复制
grant all on 'projectA\_%'.* to 'projectA'@'%';

参考:http://dev.mysql.com/doc/refman/5.1/en/grant.html

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-19 23:29:39

如果我在语法中使用反引号而不是单引号,它看起来工作得很好:

代码语言:javascript
复制
grant all on `projectA\_%`.* to `projectA`@`%`;
票数 85
EN

Stack Overflow用户

发布于 2013-01-18 14:42:22

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON `projectA\_%`.* TO 'projectA'@'%' IDENTIFIED BY 'your_passwd';

数据库名称需要使用反括号

编辑:下划线现在已转义。

票数 13
EN

Stack Overflow用户

发布于 2014-07-11 22:02:37

根据MySQL的GRANT文档:

在GRANT语句中指定在全局或数据库级别授予权限的数据库名称时,允许使用“_”和“%”通配符。这意味着,例如,如果要使用“_”字符作为数据库名称的一部分,则应在GRANT语句中将其指定为“\_”,以防止用户能够访问与通配符模式匹配的其他数据库;例如,GRANT ...ON foo\\_bar.* TO ....

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2668591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档