Perché salvare il database?
Backup regolari del database ti proteggono da:
- Cancellazioni accidentali di dati
- Intrusioni o attacchi con programmi dannosi
- Aggiornamenti o migrazioni andati male
- Guasti dell'hardware
- Errori umani
Buona abitudine: fai un backup prima di ogni cambiamento importante, come un aggiornamento, una migrazione o l'installazione di un plugin.
Backup da phpMyAdmin
Esporta il database
- Apri phpMyAdmin da EGPNL
- Scegli il tuo database dal riquadro di sinistra
- Apri la scheda Esporta
- Scegli il metodo di esportazione:
- Rapida: impostazioni predefinite, vanno bene quasi sempre
- Personalizzata: più opzioni, per chi sa il fatto suo
- Formato: SQL
- Fai clic su Vai per scaricare il file .sql
Opzioni dell'esportazione personalizzata
Nell'esportazione personalizzata valuta queste opzioni:
- Compressione: gzip, riduce parecchio la dimensione del file
- Aggiungi DROP TABLE: utile quando sostituisci tutto
- Solo dati: esporta i dati senza la struttura
- Solo alcune tabelle: scegli soltanto quelle che ti servono
Importazione da phpMyAdmin
- Apri phpMyAdmin
- Scegli il database di destinazione (o creane uno nuovo e vuoto)
- Apri la scheda Importa
- Fai clic su Scegli file e seleziona il file .sql o .sql.gz
- Lascia le altre impostazioni come sono
- Fai clic su Vai
Attenzione all'importazione: sovrascrive le tabelle esistenti con lo stesso nome. Assicurati di importare nel database giusto.
Importare file grandi
Se il file di backup supera il limite di caricamento:
- Comprimilo nel formato .sql.gz
- Caricalo con il gestore dei file e importalo dal server
- Oppure importalo da riga di comando (vedi sotto)
- Spezzalo in file più piccoli
Backup da riga di comando
Per database grandi o per automatizzare, usa SSH:
Esportazione (mysqldump)
# Basic export
mysqldump -u username -p database_name > backup.sql
# With compression
mysqldump -u username -p database_name | gzip > backup.sql.gz
# Specific tables only
mysqldump -u username -p database_name table1 table2 > backup.sql
# All databases
mysqldump -u username -p --all-databases > all_databases.sql
Importazione (mysql)
# Import SQL file
mysql -u username -p database_name < backup.sql
# Import gzipped file
gunzip < backup.sql.gz | mysql -u username -p database_name
# Import with progress (for large files)
pv backup.sql | mysql -u username -p database_name
Il sistema di backup di EGPNL
Backup a mano
- Vai su Backup in EGPNL
- Scegli Backup dei database
- Indica quali database salvare
- Fai clic su Crea backup
- Scaricalo a operazione conclusa
Backup automatici
- Vai su Backup → Backup programmati
- Attiva i backup automatici
- Scegli la frequenza (ogni giorno, ogni settimana)
- Decidi per quanto conservarli
- Includi i database nel backup
Spazio occupato: i backup automatici usano lo spazio del tuo hosting. Tieni d'occhio le dimensioni e regola di conseguenza per quanto conservarli.
Ripristinare da un backup
Da EGPNL
- Vai su Backup in EGPNL
- Trova il tuo backup nell'elenco
- Fai clic su Ripristina
- Scegli il ripristino del database
- Conferma e attendi la fine
Da phpMyAdmin
- Elimina le tabelle esistenti (se ripristini tutto)
- Importa il file di backup
- Verifica che i dati siano integri
Buone pratiche per i backup
- Con regolarità: ogni giorno per i siti attivi
- Prima delle modifiche: salva sempre prima di un aggiornamento
- Fuori dal server: tieni delle copie in uno spazio cloud
- Prova i ripristini: ogni tanto verifica che i backup funzionino
- Più copie: conserva diverse versioni dei backup
- Anche i file: salva sia il database SIA i file
La regola del 3-2-1: tieni 3 copie dei dati, su 2 tipi diversi di supporto, con 1 copia fuori sede.
Risoluzione dei problemi
L'importazione fallisce per tempo scaduto
Le importazioni grandi possono superare il tempo massimo. I rimedi:
- Importa da riga di comando
- Spezza il file SQL in parti più piccole
- Importa una tabella alla volta
Problemi di codifica dei caratteri
Se dopo l'importazione il testo è illeggibile:
- Assicurati che esportazione e importazione usino la stessa codifica (UTF-8)
- Aggiungi
--default-character-set=utf8mb4ai comandi
Questo articolo ti è stato utile?