Existem técnicas para usar o mysqldump (ou comando similar) para fazer backups incrementais ou diferenciais para o MySQL?
Existem técnicas para usar o mysqldump (ou comando similar) para fazer backups incrementais ou diferenciais para o MySQL?
Respostas:
Você pode simular o backup incremental ativando e fazendo backup dos logs binários. Consulte http://dev.mysql.com/doc/refman/5.1/en/backup-methods.html em "Fazendo backups incrementais ativando o log binário".
Faça o checkout do Xtrabackup (da Percona) se você estiver usando o InnoDB. Pode fazer incrementais.
http://www.percona.com/docs/wiki/percona-xtrabackup:xtrabackup:incremental?rev=1289183209
Felicidades
Eu uso binlogs, mas eles não são uma solução definitiva e eu também me dependo de snapshots.
Há duas razões principais para isso:
Recentemente, tive um grande número de instantâneos, não havia comprimido ou diferencial. Eu experimentei o diff e descobri que, mesmo com opções como nenhum contexto, os diffs resultantes eram maiores.
Sem tentar todas as alternativas, a melhor coisa que encontrei foi rdiff. Isso os reduziu para cerca de 5% do tamanho para mim e, quando compactado com xz na zona de 1%.
Embora os arquivos de assinatura rdiff não sejam compactados bem, pois são coleções de hash (o mesmo que dados aleatórios), compactá-los um contra o outro deve produzir bons resultados.
Muitas pessoas não precisam dessa solução, pois na maioria dos casos, se houver uma falha, elas precisarão armazenar o banco de dados com a imagem mais recente e atualizá-lo o mais rápido possível.
No entanto, se você possui um sistema complexo que precisa de muita contabilidade, auditoria, depuração etc. (coisas mais críticas que um blog), o armazenamento eficiente de instantâneos se torna importante.
Verifique https://sourceforge.net/projects/mysqlincrementalbackup/ script. Uma solução de backup incremental para MyISAM e Innodb.