mysql 授权语句有问题。
我想要一个用户:
- 以“abc”或“xyz”开头的表的只读(选择)权限
- AND 具有创建表的能力。
这是我目前拥有的。.*
语法给了我错误:
GRANT CREATE, SELECT
ON db1.abc.* , db1.xyz.*
TO 'some_user'@'%'
IDENTIFIED BY 'some_password';
mysql 授权语句有问题。
我想要一个用户:
这是我目前拥有的。.*
语法给了我错误:
GRANT CREATE, SELECT
ON db1.abc.* , db1.xyz.*
TO 'some_user'@'%'
IDENTIFIED BY 'some_password';
点是 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”开头的表,则必须明确列出所有表。