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


26

Eu quero começar a agendar remotos mysqldump crons e prefiro usar uma conta especial para esse fim. Desejo 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 estou perdendo um caminho melhor?

Respostas:


24

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

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


Esta resposta ainda é válida em 2017?
Kyslik

11

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


5

Para quem está se perguntando, aqui está o comando exato:

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

5

Parece que você precisa de RELOAD também. Tão:

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

1

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

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.