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

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

Что-то как

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON 'databasesprefix%'.*
TO testuser@localhost IDENTIFIED BY 'testpasswd';
8
задан shurik2533 8 July 2010 в 13:45
поделиться

2 ответа

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

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

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

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

9
ответ дан 5 December 2019 в 06:36
поделиться

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

Думаю, это сработает:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON `databasesprefix%`.*
TO testuser@localhost IDENTIFIED BY 'testpasswd';
16
ответ дан 5 December 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: