¿Permisos mínimos para que un usuario realice un mysqldump?

26

Quiero comenzar a programar crons remotos de mysqldump, y preferiría usar una cuenta especial para esos fines. Quiero otorgarle a ese usuario los permisos mínimos para obtener un volcado completo, pero no estoy seguro de la mejor manera de hacerlo.

¿Es tan simple como

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

o me estoy perdiendo una mejor manera?

Matt Simmons
fuente

Respuestas:

24

Creo que el usuario solo necesita permisos seleccionados en las tablas para hacer una copia de seguridad.

Editar: Este tipo dice que también asigne el permiso "bloquear tablas", lo cual tiene sentido.

Micro
fuente
¿Sigue siendo una respuesta válida en 2017?
Kyslik
11

También necesita SHOW_VIEW, si hay vistas en su base de datos.

Nathan Friend
fuente
5

Para aquellos que se preguntan, este es el comando exacto:

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

Parece que también necesitas RELOAD. Asi que:

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

Y necesita EVENT si desea volcar EVENTs también.

Y necesita TRIGGER si quiere volcar TRIGGER también. (¡a pesar de lo que dice el manual!)

Jannes
fuente