-
Tipi di backup del database MySQL
-
Come fare il backup dei database MySQL?
-
Riassunto
Man mano che i dati vengono memorizzati nel database, il backup dei dati diventa sempre più importante. Il backup del database è un compito molto critico per garantire che le aziende o gli individui non subiscano perdite ingenti a causa della perdita di dati. MySQL è un popolare sistema di gestione di database relazionali open source, ampiamente utilizzato nelle imprese. Questo discuterà come effettuare il backup del database MySQL.
Tipi di backup del database MySQL
A seconda della dimensione del database, esistono quattro tipi di backup, che vengono utilizzati in diverse occasioni:
Copia di sicurezza completa
Questo è un metodo comune utilizzato dalla maggior parte delle persone. Può eseguire il backup di tutto il database, incluso tutti gli oggetti del database come tabelle utente, tabelle di sistema, indici, viste e stored procedure. Tuttavia richiede più tempo e spazio, quindi generalmente si consiglia di eseguire un backup completo una volta a settimana.
Backup del registro delle transazioni
Il registro delle transazioni è un file separato che registra le modifiche al database. I backup devono copiare solo le modifiche apportate al database dall'ultimo backup, quindi richiedono molto poco tempo. Per la robustezza del database, si consiglia di eseguire backup del registro delle transazioni ogni ora o anche più frequentemente.
Backup differenziale
È un altro metodo per eseguire il backup di una parte del database, non utilizza il registro delle transazioni, ma invece usa una nuova immagine dell'intero database. È più piccolo del backup completo originale perché contiene solo i database che sono cambiati dall'ultimo backup completo. Ha il vantaggio di una rapida memorizzazione e ripristino. Si consiglia di eseguire un backup differenziale ogni giorno.
Copia di sicurezza del file
Un database può essere composto da molti file sul disco rigido. Se il database è molto grande e non può essere backupizzato in una notte, i backup di file possono essere utilizzati per backupizzare parte del database ogni notte. Poiché i database generalmente non sono così grandi da richiedere l'uso di più file store, questo tipo di backup non è molto comune.
Secondo lo stato del database, può essere diviso in tre tipi:
1. Backup freddo
I backup freddi sono backup eseguiti sui dati mentre il database è offline e non accessibile agli utenti. Poiché i backup vengono eseguiti mentre il database è offline, i backup freddi vengono anche spesso chiamati backup offline. I backup freddi consumano spesso meno risorse e poiché non può essere aggiunto alcun nuovo dato (il database è offline), il processo di backup può effettuare il backup di tutti i dati in una volta sola. Ovviamente, i backup freddi hanno un limite nel fatto che il database non può essere accessibile durante l'operazione di backup.
2. Backup caldo
I backup hot sono copie di sicurezza effettuate sui dati mentre il database è online e accessibile agli utenti. I backup hot sono spesso una soluzione molto conveniente perché non richiedono tempi di inattività e la perturbazione del sistema operativo è minima, ma hanno anche alcuni svantaggi: se i dati che stanno venendo copiati vengono modificati in qualsiasi modo durante l'operazione di backup, il backup potrebbe non essere uguale alla versione finale dei dati nel database.
3. Backup logico
Il backup logico utilizza un software per estrarre dati da un database e scrivere i risultati in un file.
Come fare il backup dei database MySQL?
Secondo il metodo di ripristino del backup, per MySQL esistono backup logici e fisici. Il backup logico consiste nel backup delle istruzioni SQL, che vengono eseguite durante il ripristino per ricreare i dati del database. Il backup fisico copia i file del database nello stesso formato in cui sono memorizzati sul disco.
Questi due tipi di backup hanno i loro vantaggi e svantaggi. In genere, la velocità di ripristino del backup fisico è più rapida ma occupa più spazio, mentre la velocità del backup logico è più lenta ma occupa meno spazio.
1. Utilizzo di mysqldump
Mysqldump è uno strumento di backup che viene fornito con MySQL, nella directory bin: /usr/local/mysql/bin/mysqldump, che supporta il backup caldo basato su InnoDB. Tuttavia, poiché si tratta di un backup logico, la velocità non è molto alta e si adatta a scenari in cui i dati da backup sono relativamente piccoli. Il backup completo di Mysqldump + log binario può raggiungere il recupero a un punto nel tempo.
Per le tabelle del motore di archiviazione MyISAM, solo il backup caldo può essere utilizzato. In questo momento, la scrittura dei dati deve essere prevenuta, quindi aggiungi prima un blocco di lettura. In questo momento, puoi anche entrare nel database per aggiungere manualmente un blocco di lettura, ma è complicato. Puoi direttamente avere un'opzione di bloccaggio nello strumento mysqldump, che è --lock-all-tables, come mysqldump --databases test --lock-all- tables --flush-logs > /tmp/backup_test_`date+%F-%H-%M`.sql.
Se stai eseguendo il backup di una singola tabella, aggiungi semplicemente il nome della tabella dopo il nome della libreria test.
Per le tabelle del motore di archiviazione InnoDB, è possibile eseguire un backup caldo senza bloccare il database. Aggiungi l'opzione per eseguire il backup caldo: --single-transaction, ad esempio: mysqldump --databases test --single-transaction --flush-logs --master-data=2> /tmp/backup_test_`date+%F-%H-%M`.sql.
P.S. Ricorda di chiudere il log binario durante il ripristino:
mysql> set sql_log_bin=0;
Perché questo si basa su un metodo di backup logico, l'esecuzione di SQL inserirà i dati e li registrerà nel log binario. Poiché si tratta di un ripristino, il log binario inserito può essere disattivato per abbreviare il tempo di ripristino.
Clicca e scopri di più su il backup e il ripristino del database MySQL con o senza Mysqldump.
2. Backup basato su snapshot LVM
In termini di backup fisico, c'è un backup fisico basato sul sistema di file (snapshot LVM) e puoi anche utilizzare direttamente comandi come tar per pacchettizzare e fare il backup della directory del database intero, ma questi possono essere usati solo per il backup freddo. Diversi motori di archiviazione fanno il backup di contenuti diversi. MyISAM fa automaticamente il backup a livello di tabella, mentre InnoDB può fare il backup solo dell'intero database se non abilita lo spazio di tabella indipendente.
Il seguente è un'introduzione all'uso della funzione di snapshot di LVM per il backup.
1) Per la sicurezza, prima imponi un blocco di lettura sul database
mysql>FLUSH TABLES WITH READ LOCK
2) Aggiorna il log binario per la ripristino a un determinato punto nel tempo
mysql>FLUSH LOGS
3) Quindi crea il volume dello snapshot
lvcreate –L 1G –s –n data-snap –p –r /dev/myvg/mydata
4) Inserisci il database per rilasciare il blocco di lettura
UNLOCK TABLES
5) Monta il volume dello snapshot per il backup
mount –r /dev/myvg/data-snap /mnt/snap
6) Infine imballa e fai il backup dei file in /mnt/snap
Per il ripristino:
1) chiudi mysqld
2) quindi esegui il backup del log binario
3) ripristinare il file di backup originale
4) quindi ripristina al punto nel tempo dell'errore attraverso il registro binario (non dimenticare di chiudere temporaneamente il registro binario quando si ripristina il punto nel tempo attraverso il binario)
Tra il 2010 e il 2012, il database MySQL è stato distribuito nell'ambiente cloud di Amazon. Hanno fornito snapshot LVM, che sono molto convenienti e veloci. Utilizzando gli snapshot LVM, il recupero è altrettanto estremamente rapido nella rete 10G di Amazon.
3. Backup con Tar
Preparati per il primo backup dei dati dal database, blocca temporaneamente tutte le tabelle e apri la finestra 1
mysql> flush tables with read lock;
Query OK, 0 rows affected (0.00 sec)
mysql> show master status;
+++++ | File | Position | Binlog_Do_DB |Binlog_Ignore_DB | | mysql-bin.000003 | 194554 | | | 1 row in set (0.00 sec)
Questa finestra non può essere chiusa e deve essere mantenuta fino al completamento del pacchetto tar.
--Re-open a shell window, go to the data file directory tar package open window 2 [root@myfstv_21_11 data]# tar -zcvf mysqla1.tar.gz mysqla tar -zcvf mysqla1.tar.gz mysqla Compressed Switch to window 1 and execute the unlock command
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec) mysql>
Copia il pacchetto tar in un altro server della libreria MySQL, sovrascrivi la directory dei dati e quindi riavvia il servizio del database MySQL.
4. xTraBackup fornito da Percona
Supporta il backup fisico a caldo di innoDB, supporta il backup completo e incrementale e la velocità è molto rapida, supporta la migrazione dei dati tra diversi database causata dallo storage innoDB e supporta il backup e il ripristino dello slave in modalità di replica. Per consentire a xTraBackup di supportare ulteriori estensioni funzionali, puoi configurare uno spazio di tabella indipendente e abilitare la funzione innoDB_file_per_table. In questo modo, puoi supportare i backup di singole tabelle.
Principio del backup xTraBackup:
xTraBackup si basa sulla funzione di ripristino da crash di InnoDB. Copierà il file dati di InnoDB. Poiché la tabella non è bloccata, i dati copiati sono incoerenti. Durante il recupero, utilizza il ripristino da crash per rendere i dati coerenti.
innoDB mantiene un registro di redo, noto anche come registro delle transazioni, che contiene tutte le modifiche ai dati di innoDB. Quando innoDB avvia, prima verifica il file dei dati e il registro delle transazioni, e compirà i seguenti passaggi:
Quando xTraBackup esegue il backup, copia i dati di InnoDB pagina per pagina senza bloccare la tabella. Nello stesso tempo, xTraBackup ha un altro thread per monitorare il registro delle transazioni. Non appena il registro cambia, copierà le pagine del registro modificate. Poiché la dimensione del file del registro delle transazioni è limitata, inizierà a scrivere dall'inizio dopo che si è riempito, quindi i nuovi dati potrebbero sovrascrivere i dati vecchi.
Durante il processo di preparazione, xTraBackup utilizza il registro delle transazioni copiato per eseguire la ripristino di emergenza sul file dei dati innoDB backup.
5. Backup dei database MySQL con Vinchin Backup & Recovery
Vinchin Backup & Recovery fornisce funzionalità potenti per proteggere i tuoi database sia in macchine virtuali che in server fisici. Collaborando efficacemente con i backup a livello di VM, offre una doppia assicurazione agli utenti di ambienti virtuali per i loro dati e sistemi informativi di business chiave. Vinchin Backup & Recovery supporta la protezione di Oracle DB, MySQL, SQL Server, PostgreSQL, Postgres Pro e MariaDB installati sia su macchine fisiche che virtuali con funzionalità potenti di backup e ripristino del database. Fornisce inoltre strategie di backup completo, differenziale, incrementale e di log delle transazioni per consentirti di impostare il tuo piano di backup su misura.
Vinchin Backup & Recovery supporta il backup caldo efficiente di MySQL, SQL Server e Oracle senza influire sull'operatività normale dei database.
L'operazione di Vinchin Backup & Recovery è molto semplice, solo pochi passaggi semplici.
1. Seleziona l'oggetto del backup.
2. Seleziona la destinazione del backup.
3. Configura le strategie di backup.
4. Verifica e invia il lavoro.
Puoi iniziare a utilizzare questo potente sistema con una prova gratuita a pieno titolo di 60 giorni. Clicca il pulsante per ottenere il pacchetto di installazione. Puoi fare clic qui per saperne di più su come eseguire il backup di MySQL con Vinchin Backup & Recovery.
Riassunto
Il database MySQL è ampiamente utilizzato in molte industrie Per garantirne la sicurezza in questo articolo condividiamo con te cinque diversi metodi per il backup dei dati MySQL Puoi scegliere un metodo più adatto in base alla tua situazione effettiva Che aspetti Affrettati a fare il backup del tuo database MySQL
Condividi su: