Come fare il backup del database WordPress con phpMyAdmin e WP-CLI
Il database è il componente più critico di un sito WordPress: contiene articoli, pagine, commenti, utenti, impostazioni e dati dei plugin. Perdere il database significa perdere tutto il contenuto del sito. Anche se usi un plugin di backup automatico, sapere come esportare manualmente il database è una competenza essenziale per ogni amministratore WordPress. In questa guida ti mostro due metodi: phpMyAdmin e WP-CLI.
Perché fare il backup del database separatamente
I plugin di backup salvano sia i file che il database insieme, ma ci sono situazioni in cui un backup del solo database è più pratico:
- Prima di un aggiornamento: aggiornare WordPress, un tema o un plugin che modifica il database? Un dump rapido del database ti permette di tornare indietro in secondi.
- Prima di operazioni massive: importazioni, cerca-e-sostituisci nel database, pulizia dei dati.
- Backup più veloce: il database tipicamente pesa 50-500 MB, molto meno dei file (che possono pesare diversi GB). Esportarlo richiede pochi secondi.
- Migrazione: quando migri il sito su un nuovo hosting, spesso devi importare il database separatamente.
Metodo 1: backup con phpMyAdmin
phpMyAdmin è lo strumento di gestione database incluso nella maggior parte dei pannelli hosting (cPanel, Plesk, DirectAdmin). Ecco come usarlo per esportare il database:
- Accedi a phpMyAdmin dal pannello hosting. In cPanel, lo trovi nella sezione “Database”. In Plesk, vai su “Database” e clicca sull’icona phpMyAdmin.
- Seleziona il database di WordPress nel pannello sinistro. Se non sai quale sia, apri wp-config.php e cerca la costante DB_NAME.
- Clicca su “Esporta” nella barra superiore.
- Scegli il metodo:
- Rapido: esporta tutte le tabelle in formato SQL con le impostazioni predefinite. Sufficiente per la maggior parte dei casi.
- Personalizzato: permette di scegliere quali tabelle esportare, il formato, la compressione e altre opzioni avanzate.
- Formato: lascia SQL (il formato predefinito).
- Compressione: per database grandi, seleziona gzip per ridurre la dimensione del file scaricato.
- Clicca “Esegui” per scaricare il file .sql (o .sql.gz) sul tuo computer.
Consiglio: nel metodo personalizzato, nella sezione “Opzioni di creazione”, spunta “Aggiungi DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER”. Questo assicura che l’importazione sovrascriva le tabelle esistenti in caso di ripristino.
Metodo 2: backup con WP-CLI
Se hai accesso SSH al server, WP-CLI è il metodo più veloce e pratico per esportare il database WordPress. Un solo comando e il backup è fatto.
Esportare il database:
wp db export backup-$(date +%Y%m%d).sql --path=/percorso/wordpress/
Questo crea un file SQL con la data nel nome (es. backup-20261019.sql). Il parametro –path indica la directory di WordPress.
Esportare con compressione:
wp db export - --path=/percorso/wordpress/ | gzip > backup-$(date +%Y%m%d).sql.gz
Esportare solo alcune tabelle:
wp db export --tables=wp_posts,wp_postmeta,wp_options backup-contenuti.sql
Vantaggi di WP-CLI rispetto a phpMyAdmin:
- Più veloce per database grandi (non ha il limite di timeout del browser).
- Automatizzabile con cron job per backup periodici.
- Funziona anche quando phpMyAdmin non è disponibile o non funziona.
Come ripristinare il backup del database
Con phpMyAdmin:
- Accedi a phpMyAdmin e seleziona il database.
- Clicca su “Importa” nella barra superiore.
- Seleziona il file .sql o .sql.gz dal tuo computer.
- Clicca “Esegui”. L’importazione sovrascriverà le tabelle esistenti (se hai usato DROP TABLE nell’esportazione).
Con WP-CLI:
wp db import backup-20261019.sql --path=/percorso/wordpress/
Per file compressi:
gunzip < backup-20261019.sql.gz | wp db import - --path=/percorso/wordpress/
Automatizzare il backup del database con cron
Puoi configurare un cron job sul server per esportare il database automaticamente ogni giorno:
0 3 * * * wp db export /backup/db-$(date +%Y%m%d).sql --path=/percorso/wordpress/ 2>&1
Questo esegue il backup ogni giorno alle 3 di notte. Aggiungi uno script di pulizia per eliminare i backup più vecchi di 30 giorni:
0 4 * * * find /backup/ -name "db-*.sql" -mtime +30 -delete
Per maggiore sicurezza, copia i backup su un server remoto o uno storage cloud con rsync o rclone.
Errori comuni da evitare
- Non verificare il backup: dopo l’esportazione, apri il file .sql con un editor di testo e verifica che contenga le istruzioni CREATE TABLE e INSERT per le tabelle principali.
- Salvare il backup sullo stesso server: se il server si guasta, perdi anche i backup. Copia sempre i backup su un dispositivo o servizio esterno.
- Ignorare il charset: assicurati che l’esportazione usi lo stesso charset del database (solitamente utf8mb4). Un charset sbagliato può corrompere i caratteri speciali.
- Backup troppo vecchi: un backup di 6 mesi fa è quasi inutile per un sito aggiornato quotidianamente. Automatizza i backup per avere sempre copie recenti.
Serve assistenza?
Se hai bisogno di aiuto per configurare backup automatici del database o per ripristinare un backup dopo un problema, il team di SoccorsoWP può intervenire rapidamente. Apri un ticket e proteggi i dati del tuo sito WordPress.