Mindestberechtigungen für einen Benutzer, um einen mysqldump auszuführen?

26

Ich möchte anfangen, entfernte mysqldump-Cron zu planen, und ich würde es vorziehen, für diese Zwecke ein spezielles Konto zu verwenden. Ich möchte diesem Benutzer die Mindestberechtigung zum Abrufen eines vollständigen Speicherauszugs erteilen, bin mir jedoch nicht sicher, wie ich das am besten erreichen kann.

Ist es so einfach wie

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

oder vermisse ich einen besseren weg?

Matt Simmons
quelle

Antworten:

24

Ich glaube, der Benutzer benötigt nur ausgewählte Berechtigungen für die zu sichernden Tabellen.

Bearbeiten: Dieser Typ sagt, dass er auch die Berechtigung "Tabellen sperren" zuweisen soll, was sinnvoll ist.

Mike
quelle
Ist diese Antwort 2017 noch gültig?
Kyslik
11

Außerdem benötigen Sie SHOW_VIEW, wenn Ihre DB Views enthält.

Nathan Freund
quelle
5

Für diejenigen, die sich fragen, hier ist der genaue Befehl:

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

Es scheint, dass Sie auch RELOAD brauchen. So:

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

Und Sie brauchen EVENT, wenn Sie auch EVENTS löschen möchten.

Und Sie brauchen TRIGGER, wenn Sie auch TRIGGERs ausgeben möchten. (Trotz dem, was im Handbuch steht!)

Jannes
quelle