MySQL предоставит привилегии - PullRequest
0 голосов
/ 29 марта 2012

Возникли проблемы с оператором гранта mysql.

Я хочу, чтобы пользователь, имеющий:

  1. привилегии только для чтения (выберите) для таблиц, начинающихся с 'abc' или 'xyz'
  2. И, имел возможностьСОЗДАТЬ таблицы.

Вот что у меня сейчас есть.Синтаксис .* дает мне ошибки:

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

1 Ответ

1 голос
/ 29 марта 2012

Точка - это разделитель в MySQL, поэтому в «db1.abc. *» «Db1» - это имя db, а «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».

...