我想为WA_启动的服务器上的所有数据库中的特定用户授予一个select权限,例如在我的服务器中
我制作了以下语法,但它无法正常工作
grant select on `wa\_%`.`mytable`
to 'myuser'@'localhost'
identified by '123456';
但它给了我这个错误
表wa _%。mytable'不存在
答案 0 :(得分:3)
MySQL不允许这种类型的授权,如果您授予数据库或全局级别的权限,则只能在数据库名称中包含通配符。请参见5.5手册中的以下内容:
在授予全局或数据库级别权限的GRANT语句中指定数据库名称时,允许使用“_”和“%”通配符。
因此,例如,这将起作用,因为您在数据库级别上授予select:
grant select on `wa\_%`.*
to 'myuser'@'localhost'
identified by '123456';
在您的示例中,您尝试使用MySQL不支持的通配符架构名称授予对特定表的访问权限。
答案 1 :(得分:-1)
你可以试试这个:
GRANT SELECT ON `wa\_%` . * TO 'myuser'@'localhost' identified by '123456';