Transferindo banco de dados InnoDB via rsync

3

Estamos no processo de mudar para uma nova matriz RAID e precisamos copiar nosso banco de dados MySQL InnoDB para a nova matriz RAID, minimizando o tempo de inatividade (banco de dados de 50 GB). Eu entendo que o uso do rsync em um banco de dados MySQL em execução não produzirá uma cópia utilizável do banco de dados. No entanto, posso obter uma cópia exata usando o rsync no banco de dados em execução, depois desligar completamente o mysqld e executar um rsync final? Existe alguma possibilidade de corrupção de dados neste caso, se eu garantir que o mysql não está rodando com o rsync final é executado?

    
por smusumeche 29.09.2011 / 16:43

1 resposta

7

O que você está descrevendo deve funcionar, porém meu conselho para fazer backup de qualquer banco de dados usando um backup em nível de sistema de arquivos é que, a menos que o fornecedor do banco de dados tenha aprovado procedimentos para fazer isso, você precisa fazer quiesce do banco de dados antes de executar um backup em nível de sistema de arquivos ( Isso significa "calar a maldita coisa").

O que você está fazendo tirará proveito das transferências delta de rsync e copiará efetivamente o banco de dados "encerrado" em um período de tempo um pouco mais curto, já que ele copiará apenas as partes que foram alteradas.

Como em qualquer procedimento, antes de fazer isso em um ambiente de produção, você pode querer criar um caso de teste (criar uma instância do MySQL e um banco de dados, fazer backup, fazer shutdown, fazer sua sincronização final & verifique se funciona na caixa clonada).

    
por 29.09.2011 / 17:07