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?

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.


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.


5

Pour ceux qui se demandent, voici la commande exacte:

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

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';

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!)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.