Você precisa de privilégios `Flush 'no MySQL quando precisar executar declarações que afetam o estado global do servidor ou exigem alterações imediatas para serem visíveis. Essas declarações normalmente envolvem:
*
`Flush Privileges`: Este é o caso de uso mais comum. Depois de conceder ou revogando os privilégios do usuário (usando `concessões ou` revoke`), você precisa de `privilégios de descarga 'para recarregar as tabelas de concessão e facilitar as alterações. Sem ele, novos privilégios não serão aplicados até que o servidor MySQL reinicie.
*
`Tables de descarga`: Este comando libera todas as tabelas no banco de dados (ou em uma tabela específica). Força uma gravação de todos os dados em buffer no disco. Isso é útil para garantir a consistência dos dados, especialmente antes de backups ou após extensas modificações de dados. Embora menos crítico para o InnoDB (que usa o registro de transações para durabilidade), é mais vital para o Myisam.
*
`Flush hosts`: Este comando libera o cache do host. Isso é relevante se você alterar as configurações de autenticação baseado em host e precisar das alterações para causar efeito imediato.
*
`Flush Logs` (para registros binários): Este comando libera o log binário no disco. Isso é importante para configurações de replicação para garantir que todas as alterações sejam registradas persistentemente e replicadas para servidores de escravos.
*
Outros comandos `Flush`: Existem outras variantes `Flush` (por exemplo,` cache de consulta FLOW`, `status de descarga ', etc.), cada uma que afeta um aspecto específico do servidor. Isso exigiria privilégios de 'Flush' se você precisar executá -los.
Em suma, os privilégios `flush` são necessários sempre que você precisar forçar o servidor MySQL a aplicar alterações em suas estruturas de estado ou dados internas *imediatamente *, em vez de aguardar o reinício do servidor. Essas são geralmente tarefas administrativas. Os usuários comuns raramente precisam desses privilégios.