Предоставить пользователю разрешение с использованием подстановочного знака на MYSQL

Я хотел бы, например, предоставить право выбора для конкретного пользователя во всех базах данных на моем сервере, запущенных WA_, например, на моем сервере

Я делаю следующий синтаксис, но это не работает

grant select on `wa\_%`.`mytable` 
to 'myuser'@'localhost' 
identified by '123456';

но это дает мне эту ошибку

Таблица wa_%. Mytable'не существует

2 ответа

MySQL не разрешает такой тип предоставления прав; в имени базы данных могут быть только символы подстановки, если вы предоставляете права доступа к базе данных или на глобальном уровне. Смотрите ниже выдержку из руководства 5.5:

Подстановочные знаки "_" и "%" разрешены при указании имен базы данных в операторах GRANT, которые предоставляют привилегии на глобальном уровне или уровне базы данных.

Так, например, это будет работать, потому что вы предоставляете select на уровне базы данных:

grant select on `wa\_%`.* 
to 'myuser'@'localhost' 
identified by '123456';

В вашем примере вы пытаетесь предоставить доступ к определенной таблице, используя подстановочное имя схемы, которое не поддерживается MySQL.

Вы можете попробовать это:

GRANT SELECT ON  `wa\_%` . * TO  'myuser'@'localhost' identified by '123456';
Другие вопросы по тегам