Permissões mínimas para um usuário executar um mysqldump?

25

Eu quero começar a programar o mysqldump remoto, e prefiro usar uma conta especial para esse propósito. Eu quero conceder a esse usuário as permissões mínimas para obter um despejo completo, mas não tenho certeza da melhor maneira de fazer isso.

É tão simples quanto

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

ou eu estou perdendo uma maneira melhor?

    
por Matt Simmons 09.06.2009 / 18:04

5 respostas

24

Acredito que o usuário só precisa selecionar permissões nas tabelas para backup.

Editar: Esse cara diz para atribuir a permissão "tabelas de bloqueio" também , o que faz sentido.

    
por 09.06.2009 / 18:12
11

Você também precisa de SHOW_VIEW, se houver visualizações no seu banco de dados.

    
por 16.12.2009 / 17:23
5

Parece que você também precisa do RECOAD. Então:

GRANT SELECT, LOCK TABLES, SHOW VIEW, RELOAD ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';
    
por 28.08.2012 / 20:00
4

Para os que estão se perguntando, veja o comando exato:

GRANT SELECT, LOCK TABLES, SHOW VIEW ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';
    
por 08.08.2012 / 01:59
1

E você precisa de EVENT se quiser despejar EVENTs também.

E você precisa do TRIGGER se quiser também despejar TRIGGERs. (apesar do que o manual diz!)

    
por 21.08.2013 / 10:35