Backup MySQL incrementale / differenziale utilizzando mysqldump


9

Esistono tecniche per utilizzare mysqldump (o comando simile) per eseguire backup incrementali o differenziali per MySQL?

Risposte:




0

Uso i binlog ma non sono la soluzione definitiva e tendo a ritrovarmi a fare affidamento anche sulle istantanee.

Ci sono due ragioni principali per questo:

  • Binlog memorizza tutte le modifiche. Una settimana di binlog sarà probabilmente significativamente più grande della differenza tra due istantanee a settimana. L'unico sollievo è che i binlog tendono a comprimersi bene (di solito ben al di sotto del 10%).
  • Se hai mai bisogno di fare auditing o tornare indietro, la riproduzione del binlog contro un'istantanea antica richiederà molto tempo e maggiore è il binlog maggiore è la possibilità di errore, quindi hai bisogno di istantanee regolari.

Recentemente ho avuto un gran numero di istantanee che non erano né compresse né differenziali. Ho sperimentato con diff e ho scoperto che anche con opzioni come nessun contesto le differenze risultanti erano più grandi.

Senza provare tutte le alternative, la cosa migliore che ho trovato era rdiff. Questo li ha ridotti a circa il 5% delle dimensioni per me e quando poi compressi con xz nella zona dell'1%.

Anche se i file delle firme rdiff non si comprimono bene in quanto sono raccolte di hash (uguali ai dati casuali), comprimerli l'uno contro l'altro dovrebbe produrre buoni risultati.

Molte persone non avranno bisogno di una soluzione come nella maggior parte dei casi in caso di errore dovranno archiviare il database con l'immagine più recente e aggiornarlo il più rapidamente possibile.

Tuttavia, se si dispone di un sistema complesso che richiede molta contabilità, auditing, debug, ecc. (Elementi più critici di un blog), l'archiviazione efficiente delle istantanee diventa importante.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.