Autorisations minimales pour qu'un utilisateur effectue un mysqldump?

26

Je veux commencer à planifier des crons mysqldump distants, et je préfère utiliser un compte spécial à cet effet. Je veux accorder à cet utilisateur les autorisations minimales pour obtenir un vidage complet, mais je ne suis pas sûr de la meilleure façon de procéder.

Est-ce aussi simple que

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

ou est-ce que je manque une meilleure façon?

Matt Simmons
la source

Réponses:

24

Je crois que l'utilisateur a juste besoin de sélectionner des autorisations sur les tables à sauvegarder.

Edit: Ce gars dit d'attribuer également l'autorisation "verrouiller les tables", ce qui est logique.

Mike
la source
Cette réponse est-elle toujours valable en 2017?
Kyslik
11

Vous avez également besoin de SHOW_VIEW, s'il existe des vues dans votre base de données.

Nathan Friend
la source
5

Pour ceux qui se demandent, voici la commande exacte:

GRANT SELECT, LOCK TABLES, SHOW VIEW ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';
cow-boy
la source
5

Il semble que vous ayez également besoin de RELOAD. Alors:

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

Et vous avez besoin d'EVENT si vous souhaitez également vider des EVENT.

Et vous avez besoin de TRIGGER si vous souhaitez également vider les TRIGGER. (malgré ce que dit le manuel!)

Jannes
la source