Server MySQL di backup


13

Qual è il modo migliore per eseguire il backup di un server MySQL? Vorrei un metodo che non richiede il downdown del server. È necessario un backup a caldo di InnoDB o posso semplicemente utilizzare gli strumenti di backup forniti negli strumenti di amministrazione di MySQL. Quali vantaggi offre uno rispetto all'altro?

Risposte:


12

Usiamo mysqldump, che funziona mentre MySQL è in esecuzione. Abbiamo iniziato a utilizzare mysqldump perché era il modo più semplice da configurare quando i nostri bisogni erano piccoli e sembrava soddisfare tali bisogni. I nostri database sono cresciuti da allora, ma non abbiamo ancora superato mysqldump. L'adeguatezza dipenderà dalle dimensioni dei database, dal loro normale carico operativo e probabilmente da un sacco di altre cose.


mysqldump è fantastico. A differenza dei dump binari di alcuni altri RDMS, per impostazione predefinita i file generati da mysqldump sono file di testo con comandi sql completi, per lo più istruzioni CREATE TABLE e INSERT per le righe. Come semplici file di testo, possono essere facilmente manipolati, compressi o crittografati.
nedm,

3
mysqldump si interrompe quando si hanno database di grandi dimensioni e / o quando si fa affidamento su MyISAM. Abbiamo alcuni database 400G con molti indici che devono essere ricostruiti durante l'importazione del dump, in modo che un ripristino dal backup richieda giorni dell'albero. L'istantanea LVM offre un tempo di recupero molto migliore quando hai superato mysqldump.
Nils-Anders Nøttseter,

4

dai un'occhiata a xtrabackup da percona - è un'interessante alternativa open source a mysqlhotcopy per database innodb.

puoi leggere di più qui


3

mysqldump può essere utilizzato, ma non garantirà un set di dati coerente , a meno che non si blocchi tutte le tabelle per la durata del dump. Ciò metterà il database in modalità di sola lettura, ma assicurerà che il dump sia coerente.

Puoi bloccare le tabelle con il comando:

FLUSH TABLES WITH READ LOCK;

E quando hai finito puoi rilasciare il blocco con:

UNLOCK TABLES;

7
mysqldump: la transazione singola garantirà un'istantanea coerente
Dave Cheney,

5
--single-transazione funziona solo quando tutte le tabelle sono InnoDB. Le tabelle MyISAM non supportano le transazioni.
Nils-Anders Nøttseter,


2

Configura replica MySQL . Come bonus ottieni un server per eseguire lavori di reporting pesanti e mysqldump senza influire sul tuo db di produzione principale.


Ricorda che la replica potrebbe essere ritardata e quindi non necessariamente un backup temporizzato del tuo master.

2
La replica non è un backup. Se si elimina accidentalmente qualcosa nel master, anche lo slave lo elimina. Lo slave è comunque bravo a usare mysqldump, perché non influirà sul server di produzione (come menzionato Dave).
Martijn Heemels,


0

C'è anche uno strumento chiamato mysqlhotcopy che ho esaminato una volta, e ho pensato che mantenesse molte promesse - non l'ho mai usato.

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.