0

mysql 授权语句有问题。

我想要一个用户:

  1. 以“abc”或“xyz”开头的表的只读(选择)权限
  2. AND 具有创建表的能力。

这是我目前拥有的。.*语法给了我错误:

GRANT CREATE, SELECT 
  ON db1.abc.* , db1.xyz.* 
  TO 'some_user'@'%' 
  IDENTIFIED BY 'some_password';
4

1 回答 1

1

点是 MySQL 中的分隔符 - 所以在“db1.abc.*”中,“db1”是数据库名称,“abc”是表名。因此,“*”是什么 - 列?这是指定列的错误语法。

正如您在http://dev.mysql.com/doc/refman/5.1/en/grant.html中所读到的,您可以看到您将列名放在括号中:

GRANT SELECT (col1), INSERT (col1,col2) ON mydb.mytbl TO 'someuser'@'somehost';

此外,您不能使用通配符表名称 - 如果您有多个名称以“abc”或“xyz”开头的表,则必须明确列出所有表。

于 2012-03-29T01:40:04.497 回答