Minimalne uprawnienia dla użytkownika do wykonania mysqldump?

26

Chcę rozpocząć planowanie zdalnych cronów mysqldump i wolę do tego celu używać specjalnego konta. Chcę przyznać temu użytkownikowi minimalne uprawnienia do uzyskania pełnego zrzutu, ale nie jestem pewien, jak najlepiej to zrobić.

Czy to jest tak proste jak

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

czy brakuje mi lepszego sposobu?

Matt Simmons
źródło

Odpowiedzi:

24

Uważam, że użytkownik potrzebuje tylko wybranych uprawnień do tworzenia kopii zapasowych tabel.

Edycja: Ten facet mówi, aby również przypisać uprawnienie „blokuj tabele”, co ma sens.

Mikrofon
źródło
Czy to wciąż ważna odpowiedź w 2017 roku?
Kyslik,
11

Potrzebujesz również SHOW_VIEW, jeśli w Twojej bazie danych są widoki.

Nathan Friend
źródło
5

Dla tych, którzy zastanawiają się, oto dokładne polecenie:

GRANT SELECT, LOCK TABLES, SHOW VIEW ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';
kowboj
źródło
5

Wygląda na to, że potrzebujesz również RELOAD. Więc:

GRANT SELECT, LOCK TABLES, SHOW VIEW, RELOAD ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';
Ventz Petkov
źródło
1

I potrzebujesz WYDARZENIA, jeśli chcesz również zrzucić WYDARZENIA.

Potrzebujesz TRIGGER, jeśli chcesz również zrzucić TRIGGERs. (pomimo tego, co mówi instrukcja!)

Jannes
źródło