Ответ 1
Если я использую back-tics вместо одинарных кавычек в синтаксисе, он выглядит просто отлично:
grant all on `projectA\_%`.* to `projectA`@`%`;
Я хочу создать пользовательский 'projectA', который имеет одинаковые разрешения для каждой базы данных с именем 'projectA _%'
Я знаю его возможное, но MySQL не любит мой синтаксис:
grant all on 'projectA\_%'.* to 'projectA'@'%';
Ссылка: http://dev.mysql.com/doc/refman/5.1/en/grant.html
Если я использую back-tics вместо одинарных кавычек в синтаксисе, он выглядит просто отлично:
grant all on `projectA\_%`.* to `projectA`@`%`;
GRANT ALL PRIVILEGES ON `projectA\_%`.* TO 'projectA'@'%' IDENTIFIED BY 'your_passwd';
Для имени базы данных необходимо >
Отредактировано: Подчеркивание теперь экранировано.
Согласно MySQL GRANT документация:
Символы "_" и "%" разрешены при указании имен баз данных в операторах GRANT, которые предоставляют привилегии в глобальной или базе данных уровни. Это означает, например, что если вы хотите использовать "_", символ как часть имени базы данных, вы должны указать его как "\ _" в инструкции GRANT, чтобы пользователь не мог получить доступ дополнительные базы данных, соответствующие шаблону шаблона; например, GRANT... ON `foo\_bar`. * TO....