遇到mysql grant语句问题。
我想要一位拥有以下内容的用户:
这是我现在拥有的。 .*
语法给了我错误:
GRANT CREATE, SELECT
ON db1.abc.* , db1.xyz.*
TO 'some_user'@'%'
IDENTIFIED BY 'some_password';
答案 0 :(得分:1)
点是MySQL中的分隔符 - 因此在“db1.abc。*”中,“db1”是数据库名称,“abc”是表名。因此“*”是什么 - 一列?这是指定列的错误语法。
正如您在http://dev.mysql.com/doc/refman/5.1/en/grant.html中可以看到的那样,您可以看到您将列名放在parens中:
GRANT SELECT (col1), INSERT (col1,col2) ON mydb.mytbl TO 'someuser'@'somehost';
此外,您不能使用通配符表名称 - 如果您有多个名称以“abc”或“xyz”开头的表,则必须明确列出所有表。