Подтвердить что ты не робот

GRANT с именем базы данных в MySQL?

Я хочу создать пользовательский 'projectA', который имеет одинаковые разрешения для каждой базы данных с именем 'projectA _%'

Я знаю его возможное, но MySQL не любит мой синтаксис:

grant all on 'projectA\_%'.* to 'projectA'@'%';

Ссылка: http://dev.mysql.com/doc/refman/5.1/en/grant.html

4b9b3361

Ответ 1

Если я использую back-tics вместо одинарных кавычек в синтаксисе, он выглядит просто отлично:

grant all on `projectA\_%`.* to `projectA`@`%`;

Ответ 2

GRANT ALL PRIVILEGES ON `projectA\_%`.* TO 'projectA'@'%' IDENTIFIED BY 'your_passwd';
Для имени базы данных необходимо >

Отредактировано: Подчеркивание теперь экранировано.

Ответ 3

Согласно MySQL GRANT документация:

Символы "_" и "%" разрешены при указании имен баз данных в операторах GRANT, которые предоставляют привилегии в глобальной или базе данных уровни. Это означает, например, что если вы хотите использовать "_", символ как часть имени базы данных, вы должны указать его как "\ _" в инструкции GRANT, чтобы пользователь не мог получить доступ дополнительные базы данных, соответствующие шаблону шаблона; например, GRANT... ON `foo\_bar`. * TO....