Предоставление нескольких баз данных. MySQL - PullRequest
8 голосов
/ 08 июля 2010

Как предоставить на несколько баз данных? MySQL.

Что-то вроде

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON 'databasesprefix%'.*
TO testuser@localhost IDENTIFIED BY 'testpasswd';

Ответы [ 2 ]

16 голосов
/ 08 июля 2010

Вам просто нужно использовать кавычки вместо кавычек вокруг префикса db_name.

Я думаю, что это будет работать:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON `databasesprefix%`.*
TO testuser@localhost IDENTIFIED BY 'testpasswd';
9 голосов
/ 08 июля 2010

ваш пример должен работать. из (5.5) руководства :

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

с % соответствием любому числу (даже нулю) символов и _ соответствием ровно одному символу. если вам нужно _ в имени вашей базы данных, вы должны экранировать его как \_. также посмотрите другие предупреждения из руководства.

<<strong> ОБНОВЛЕНИЕ >, как указывает другой ответ: если имя базы данных содержит символы подстановки, оно должно быть заключено в кавычки с кавычками идентификатора , обратный тик («` ») </ <strong>UPDATE >

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...