2010-07-10 54 views
5

通常会说:用通配符设置用户mysql的权限?

授予所有权利 TO '壮士' @ '%'

我们可以使用通配符,我们可以针对特定的数据库,只有这样的:

GRANT ALL PRIVILEGES ON SHOP%* TO '壮士' @ '%'

我们想给以数字开头的数据库用户赋予插入权限,这些数据库以前缀“SHOP”开头

回答

6

是的,你可以。请参阅GRANT Syntax。下面是从该页面报价:

的“_”在,在全球或数据库级别授予权限 GRANT语句中指定数据库名称时,“%”允许使用通配符 。这 手段,例如,如果你想 使用“_”字符作为 数据库名称的一部分,你应该指定它 在GRANT语句“\_”,以 防止用户能够 访问与 匹配的通配符模式的其他数据库;例如, GRANT ... ON`FOO \ _bar` * TO

+0

感谢,但我得到执行此操作时发生错误:授予选择,插入,删除,在 “店铺%” 更新*对“的人。 '@' 本地主机“; - >您的SQL语法中有错误 – Jorre 2010-07-12 11:37:24

+2

您必须在数据库名称周围使用back-ticks:''将'shop'\'。*授予选择,插入,删除,更新到'someone'@'localhost';' – Mike 2010-07-12 11:44:52

+0

工作!非常感谢 – Jorre 2010-07-12 15:11:16