É um NTBackup de um diretório de dados do MySQL confiável

1

Esta pergunta foi feita nos fóruns do MySQL em 2004 sem respostas.

Estou instalando o MySQL 5.0.x em um servidor Windows 2003 para uso com o Drupal. Eu comecei a configurar o backup com o mysqldump quando me ocorreu que um ntbackup feito usando a cópia de sombra deveria ser confiável o suficiente para fazer o backup do banco de dados. Existe alguma falha na minha lógica?

    
por Justin Dearing 08.06.2010 / 20:45

3 respostas

6

Depende inteiramente do estado do serviço mysql no momento do backup. Mas a resposta simples é não, não é uma maneira segura ou boa de fazer um backup do mysql. Você deve usar o mysqlbackup incluído para fazer backups periódicos do banco de dados. Você pode fazer backups na máquina local e fazer backup dos backups com o ntbackup.

    
por 08.06.2010 / 20:54
1

Como regra geral, nunca faça backup do diretório de dados (diretórios) de um banco de dados em execução. Faça backup do diretório apenas se puder fechar o banco de dados primeiro. Se o banco de dados estiver em execução e oferecer suporte a backups ativos, você poderá fazer backup com o banco de dados em execução. Isso geralmente requer comunicação entre o software de backup e o software de banco de dados.

Possivelmente, mas eu não contaria com isso. Os dados podem ser armazenados em cache na memória ou modificados enquanto você os copia. Se você desligar o MySQL antes de fazer o backup dos dados, ele deverá ser confiável. Existem ferramentas de administração para fazer backups. Estes irão criar backups confiáveis em outro diretório.

    
por 08.06.2010 / 20:54
1

Eu acho que o banco de dados mysql está em uso. Caso contrário, não faria sentido.

  • Não é possível comparar os arquivos após o backup. Eles poderiam ter mudado nesse meio tempo.
  • E você também não obtém um instantâneo consistente.

Talvez você queira configurar um banco de dados mysql replicado e desconectar o escravo do mestre durante o backup do banco de dados escravo e depois reconectar, para que o escravo possa recuperar o atraso até o próximo backup. Você pode fazer isso com alguns scripts.

Editar : Se você tirar instantâneos de somente leitura usando nt shadow copy, isso não muda muito. Ele irá ajudá-lo com o problema de comparação, mas não com a consistência.

Se você quer um backup consistente, deve fazê-lo no nível do mysql, por exemplo, como descrevi acima. O Mysql usará o log binário para replicar os bancos de dados e você deverá ter consistência máxima. O log binário respeitará as transações.

Mas, no nível do aplicativo, há algo a considerar: link

    
por 08.06.2010 / 20:50