Backup de banco de dados grande do Mysql

1

Como posso fazer backup de um grande banco de dados no mysql? O tamanho da pasta do banco de dados é superior a 5 GB & contém 1,5 tabelas Lakh.

Eu tentei fazer backup do servidor através do phpmyadmin, mas sem sorte.

    
por user103373 28.02.2012 / 16:38

5 respostas

2

Em um tamanho de dados de 5GB, você quase certamente não pode e não deve usar um dump (myslqdump, phpmyadmin, etc) como backup. O motivo não é o backup. O motivo é que a restauração levará muito tempo, possivelmente muitos dias, dependendo da estrutura da tabela e do hardware do seu servidor. Você precisa de algum tipo de backup de arquivos. Se você usa o instantâneo do LVM ou o Percona XtraBackup ou o rsync ou qualquer outra coisa, isso dependerá do mecanismo de armazenamento usado, do hardware, do sistema de arquivos e de vários outros fatores. Isso é muito complexo de uma pergunta para responder sem muito mais detalhes, mas eu posso simplificar da seguinte forma:

  • O que você fizer deve ser voltado para a recuperação, não voltado para o backup, primeiro determine seu RPO (objetivo de ponto de recuperação) e RTO (objetivo de tempo de recuperação) e certifique-se de que sua solução atenda a esses requisitos.
  • Se você usa apenas o InnoDB, ou principalmente o InnoDB, exceto tabelas do sistema e talvez algumas outras tabelas pequenas e pouco atualizadas, o Percona XtraBackup é potencialmente uma boa opção.
  • Caso contrário, você deve considerar uma técnica de captura instantânea do sistema de arquivos (LVM).
  • Se você não puder fazer isso, provavelmente precisará fazer backups de uma réplica e talvez queira fazer isso de qualquer maneira. Mas a configuração da réplica, para começar, requer um backup, e você também precisa verificar a integridade dos dados da réplica rotineiramente (semanalmente, no mínimo) com o checksum pt-table do Percona Toolkit.
por 29.02.2012 / 15:22
0

Confira Registro binário do MySQL . Pode ser usado para configurar backups incrementais. Você também pode usar o mysqldump , mas se o banco de dados for muito grande, provavelmente algum tempo de inatividade para executar um backup completo.

    
por 28.02.2012 / 18:14
0

Usamos o Percona XtraBackup. Ele fará backups não-bloqueantes de grandes bancos de dados. É razoavelmente rápido. E tem sido muito confiável. Cria uma cópia utilizável do banco de dados. Fazemos backup em uma partição separada, os dados podem ser copiados de lá para a partição de dados ou podemos trocar as partições para usar o backup diretamente. E é grátis.

    
por 28.02.2012 / 18:35
0

Para grandes bancos de dados ativos, pode valer a pena criar um escravo de replicação que possa ser colocado offline para backups completos.

Os backups podem ser feitos interrompendo a replicação e executando mysqldump ou parando o mysqld e copiando as pastas físicas para um local de backup. link

De qualquer forma, provavelmente será melhor fazer isso diretamente, e não através do phpMyAdmin, já que o arquivo de despejo será muito grande para o seu navegador manipular efetivamente.

Para mais leitura, clique aqui. mysql.com está de volta online link

    
por 28.02.2012 / 18:29
0

Um dos meus sistemas tem dados que são alterados de uma forma em que não faz sentido usar os log binários como backups. O arquivo ibdata tem 131 GB. Para isso, eu uso o seguinte:

/usr/bin/mysqldump -u $1$MYSQLPASSWORD -f --opt --single-transaction --all-databases | lzma -3

O Bacula então pega o arquivo compactado resultante e o grava no backup do sistema, da mesma forma que qualquer outro arquivo.

Note que quando você diz "tamanho da pasta", você insinua que não está usando o InnoDB. Isso pode tornar um instantâneo consistente mais um desafio.

Alguns outros métodos comuns incluem incrementais de snapshot + binlog, snapshots de sistema de arquivos e servidores slave extras. Há também as ferramentas Percona, que permitem o backup a quente, diretamente de um arquivo InnoDB. Qual solução funciona melhor para você depende muito da carga do sistema.

    
por 28.02.2012 / 18:37