Минимальные разрешения для пользователя, чтобы выполнить mysqldump?


26

Я хочу начать планировать удаленные cron mysqldump, и я бы предпочел использовать специальный аккаунт для этих целей. Я хочу предоставить этому пользователю минимальные разрешения для получения полного дампа, но я не уверен, что лучший способ это сделать.

Это так же просто, как

grant SELECT on *.* to '$username'@'backuphost' identified by 'password'; 

или мне не хватает лучшего способа?

Ответы:


24

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

Изменить: Этот парень говорит, чтобы назначить разрешение "Блокировка таблиц", что имеет смысл.


Это все еще действительный ответ в 2017 году?
Kyslik


5

Для тех, кто интересуется, вот точная команда:

GRANT SELECT, LOCK TABLES, SHOW VIEW ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';

5

Похоже, вам тоже нужен RELOAD. Так:

GRANT SELECT, LOCK TABLES, SHOW VIEW, RELOAD ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';

1

И вам нужно СОБЫТИЕ, если вы хотите сбросить СОБЫТИЯ тоже.

И вам нужен TRIGGER, если вы тоже хотите сбросить TRIGGER. (несмотря на то, что написано в руководстве!)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.