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.
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?
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.
Você também precisa de SHOW_VIEW, se houver visualizações no seu banco de dados.
Parece que você também precisa do RECOAD. Então:
GRANT SELECT, LOCK TABLES, SHOW VIEW, RELOAD ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';
Para os que estão se perguntando, veja o comando exato:
GRANT SELECT, LOCK TABLES, SHOW VIEW ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';
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!)