我可以授予对带有前缀外卡的数据库的访问权限吗?

时间:2011-05-13 07:48:57

标签: mysql

我能GRANT ALL PRIVILEGES ON a*.* TO 'my_user'@'%' WITH GRANT OPTION;吗?

我只希望用户只能访问以“my_prefix_”开头的所有数据库,但不能访问“mysql”。

1 个答案:

答案 0 :(得分:64)

是的,你可以。

这是phpMyAdmin在我创建用户jaap并使用Grant all privileges on wildcard name (username\_%)选项时所执行的操作:

GRANT ALL PRIVILEGES ON  `jaap\_%` . * TO  'jaap'@'localhost';

这就是你的意思,对吗?

<强> PS
如您所见,_已转义,因为在(我的)SQL中,未转义的_表示“一个字符”。 (与正则表达式中的.一样。)在这种情况下,您希望_是文字的,因此数据库必须以jaap_

开头