Panoramica sul backup e sul restore
Questo articolo descrive brevemente i modi principali per effettuare un backup in MariaDB. Per spiegazioni e sintassi dettagliate, si vedano le singole pagine. Ulteriori informazioni verranno aggiunte.
Backup logico vs backup fisico
I backup logici sono costituiti dalle istruzioni SQL necessarie per ricreare i dati, come CREATE DATABASE, CREATE TABLE e INSERT.
Per effettuare un backup fisico si copiano i file dei dati e le directory.
Le differenze principali sono le seguenti:
- I backup logici sono più flessibili, perché i dati possono essere recuperati su altre configurazioni hardware, versioni di MariaDB o perfino un altro DBMS, mentre i backup fisici non possono essere recuperati su configurazioni hardware significativamente diverse, DBMS diversi o potenzialmente perfino una versione di MariaDB differente.
- I backup logici possono essere effettuati a livello di database e di tabella, mentre i database fisici sono il livello dei file e delle directory. Nello Storage Engine MyISAM, ogni tabella ha un file corrispondente, mentre nello Storage Engine InnoDB, per default, nello stesso file sono registrate un certo numero di tabelle, nel qual caso non è possibile effettuare un backup di una tabella.
- I backup logici hanno dimensioni più grandi degli equivalenti fisici.
- I backup logici impiegano più tempo sia per il backup sia per il restore restore, rispetto agli equivalenti fisici.
- I file di log e i file di configurazionenon fanno parte del backup logico.
mysqldump
mysqldump effettua un backup logico. E' il modo più flessibile di effettuare un backup e un restore, nonché una buona scelta quando i dati sono relativamente piccoli.
Per i dati più grandi, il file di backup può richiedere molto spazio, e il recupero molto tempo.
mysqldump converte i dati in formato SQL (ma può anche convertirli in altri formati, come CSV e XML) e potranno poi essere importati in un altro database. I dati potranno esere importati in altre versioni di MariaDB, MySQL o anche altri DBMS, sempre che non vi siano istruzioni specifiche del DBMS.
Esempio
Backup di un singolo database
shell> mysqldump nome_db > file-backup.sql
Recuperare o caricare il database
shell> mysql nome_db < file-backup.sql
Si veda la pagina mysqldump per i dettagli sulla sintassi e gli esempi.