Backup su MariaDB: come proteggere i tuoi dati
I backup sono indispensabili per il funzionamento sicuro di ogni database. Un’interruzione, un aggiornamento errato o un incidente di sicurezza può cancellare i dati in modo irreversibile. In questo tutorial imparerai come proteggere efficacemente i database ed effettuare un backup completo di MariaDB.
Tipi di backup su MariaDB: logico e fisico
MariaDB distingue tra due tipi di backup:
- I backup logici memorizzano i dati in un formato eseguibile SQL. Contengono istruzioni come
CREATE TABLEeINSERT INTO, che consentono di ripristinare la struttura e i contenuti del database. I backup logici sono adatti quando si desidera trasferire dati su altri sistemi, altre versioni o persino su altri sistemi di database. - I backup fisici copiano direttamente i file e le directory del database dal filesystem. Questo metodo è più veloce ed efficiente, specialmente con grandi quantità di dati. Tuttavia, funziona in modo affidabile solo se server, formati di archiviazione e versioni di MariaDB rimangono identici.
Per molti scenari si consiglia una combinazione di entrambe le metodologie: ad esempio, dump logici per singoli dati o tabelle e backup fisici per ripristini completi e rapidi.
- Partner IONOS Cloud
- Soluzioni flessibili e su misura
- Data center situati in Europa
Creare un backup su MariaDB: quali opzioni ci sono?
MariaDB offre diversi strumenti per effettuare il backup dei dati. A seconda dell’uso, della quantità di dati e dell’ambiente di sistema, si possono impiegare metodi diversi.
mariadb dump
mariadb dump è lo strumento di backup più conosciuto di MariaDB. Crea backup logici e salva i dati come file SQL. Questo file può essere ripristinato successivamente con il client MariaDB.
Vantaggi:
- Funziona su qualsiasi sistema con client MariaDB
- Esegue il backup di tabelle, singole o di tutto il database
- Compatibile con altre versioni di MariaDB e MySQL
Svantaggi:
- Grandi quantità di dati allungano il tempo di backup e ripristino
- Durante il backup possono verificarsi picchi di carico
mariadb backup
mariadb backup esegue il backup dei dati fisicamente. Lo strumento si basa su Percona XtraBackup ed è stato ampliato per MariaDB. Supporta crittografia e compressione.
Vantaggi:
- Rapido ed efficiente con grandi quantità di dati
- Esegue backup durante il funzionamento (Hot Backup)
- Adatto per sistemi produttivi con tabelle InnoDB
Svantaggi:
- Funziona solo con InnoDB (non con MyISAM)
- Maggiore impegno nella configurazione e nel ripristino
Altre opzioni
- mariadb-hotcopy: strumento più vecchio per tabelle MyISAM (non più supportato)
- LVM-Snapshots: backup a livello di filesystem per l’intero sistema. Molto veloce, ma complesso
- dbForge Studio: soluzione grafica per sistemi Windows con interfaccia intuitiva
Esempio pratico: effettuare un backup su MariaDB con mariadb dump
Hai bisogno di accesso al server di database e di un account utente con permessi di backup (per esempio root). Apri un terminale o una connessione SSH. Assicurati che il comando mariadb dump sia installato e disponibile nel percorso.
Eseguire il backup di tutti i database
Esegui il seguente comando:
mariadb-dump -u root -p --all-databases --result-file=/backups/backup_all.sqlbashSpiegazione:
-u root: imposta l’utente root.-p: richiede l’inserimento della password.--all-databases: esegue il backup di tutti i database esistenti.--result-file: imposta il file di destinazione per il backup.
Il backup include tutti i database, compresa la gestione degli utenti, i trigger, le viste e le tabelle di sistema.
Eseguire il backup di un database specifico
Il comando seguente --databases shop_db esegue il backup solo del database specificato.
mariadb-dump -u root -p --databases shop_db --result-file=/backups/shop_db.sqlbashSe desideri evitare l’istruzione CREATE DATABASE nel dump, utilizza:
mariadb-dump -u root -p shop_db --result-file=/backups/shop_db.sqlbashIn questo caso, devi creare tu stesso il database al momento del ripristino.
Eseguire il backup di più database
Di seguito, elenca i database da includere nel backup. Crea un file SQL con istruzioni per tutti i database elencati.
mariadb-dump -u root -p --databases db1 db2 db3 --result-file=/backups/multiple.sqlbashEseguire il backup di singole tabelle
Indichiamo il database e le tabelle desiderate direttamente nel comando. Questo è utile per esportazioni mirate, ad esempio durante la migrazione di singole tabelle.
mariadb-dump -u root -p db_name table1 table2 --result-file=tables.sqlbashOpzioni possibili per mariadb dump
| Opzione | Descrizione |
|---|---|
--no-data
|
Esegue il backup solo della struttura, non dei dati |
--no-create-info
|
Esegue il backup solo dei dati, senza la struttura delle tabelle |
--routines
|
Esegue il backup di procedure e funzioni |
--events
|
Esegue il backup degli eventi pianificati |
--single-transaction
|
Backup senza blocchi per le tabelle InnoDB |
--quick
|
Riduce il fabbisogno di memoria per tabelle grandi |
MariaDB: automatizzare il backup con Cron
Automatizza i backup giornalieri con un cronjob. Apri la tabella Cron:
crontab -ebashInserisci questa riga per creare, ad esempio, un backup giornaliero alle 3 del mattino:
0 3 ** * mariadb-dump -u root -p password --all-databases --result-file=/backups/backup-$(date +\%F).sqlbashPer motivi di sicurezza, non salvare le password direttamente nella tabella Cron. Invece, crea un file di configurazione .my.cnf nella directory Home:
[client]
user=root
password=passwordbashImposta i permessi di accesso:
chmod 600 ~/.my.cnfbashQuindi, utilizza la seguente variante senza password nei cronjob:
mariadb-dump --all-databases --result-file=/backups/backup-$(date +\%F).sqlbashUtilizza mariadb dump preferibilmente per backup flessibili, indipendenti dal sistema e per quantità di dati più piccole. Per sistemi produttivi con grandi quantità di dati, si consiglia mariadb backup. Esegui backup regolari e verificali con prove di ripristino. Solo un backup verificato ti protegge affidabilmente dalla perdita di dati.
- vCPU estremamente vantaggiose e potenti core dedicati
- Massima flessibilità senza periodo contrattuale minimo
- Servizio di assistenza tecnica 24 ore su 24, 7 giorni su 7

