logo

Extra Block Types (EBT) - Nuova esperienza con Layout Builder❗

Extra Block Types (EBT) - tipi di blocchi stilizzati e personalizzabili: Slideshows, Tabs, Cards, Accordion e molti altri. Impostazioni integrate per sfondo, DOM Box, plugin javascript. Vivi oggi il futuro della costruzione dei layout.

Demo moduli EBT Scarica moduli EBT

❗Extra Paragraph Types (EPT) - Nuova esperienza con Paragraphs

Extra Paragraph Types (EPT) - insieme di moduli basati su paragrafi in modo analogo.

Demo moduli EPT Scarica moduli EPT

Scorri

Come eseguire il backup e il ripristino di un database MySQL

12/10/2025, by Ivan

Se memorizzi i dati in un database MySQL e vuoi evitare di perderli, devi eseguire regolarmente dei backup. Questo articolo ti insegnerà come creare rapidamente backup e ripristinarli nel database MySQL tramite la console. Inoltre, potrai trasferire i dati su un altro server.

Come creare un backup tramite riga di comando (usando mysqldump)

Se hai accesso al server tramite console (SSH), puoi creare e ripristinare backup molto rapidamente. Questo metodo ti consente di creare un dump del database (un dump è una versione testuale del DB) e ripristinarlo più velocemente rispetto a phpMyAdmin, Adminer o altri strumenti. Il dump del database consiste in una serie di comandi SQL che consentono di ricreare una copia del tuo database. Ecco il comando per creare il dump: 

$ mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sql]

[uname] - nome utente del database (ad esempio root)
[pass] - password dell’utente; può essere scritta senza spazi se non contiene caratteri speciali, ad esempio -proot, -ppassword
[dbname] - nome del tuo database
[backupfile.sql] - nome del file in cui verrà salvato il backup
[--opt] - opzione del comando mysqldump, facoltativa

Supponiamo che tu abbia un database Drupal, un utente root con password “password” e desideri chiamare il file di backup “backup.sql”. Il comando sarà:

$ mysqldump -u root -ppassword DrupalDB > backup.sql

Se vuoi omettere la password o se contiene spazi o caratteri speciali (#!,-_), dovrai inserirla separatamente dopo aver eseguito il comando:

$ mysqldump -u root -p DrupalDB > backup.sql

Puoi anche eseguire il backup di singole tabelle, elencandole separate da spazi, ad esempio “nodes” e “users”:

$ mysqldump -u root -p DrupalDB nodes users > backup.sql

Oltre a eseguire il backup di tabelle specifiche, puoi salvare più database contemporaneamente utilizzando l’opzione --databases, seguita dai nomi dei database separati da spazi:

$ mysqldump -u root -p --databases DrupalDB Drupal7 Drupal8 > backup.sql

Se desideri trasferire l’intero server MySQL, puoi copiare tutti i database con l’opzione --all-databases:

$ mysqldump -u root -p --all-databases > alldb_backup.sql

Il comando mysqldump ha anche alcune opzioni utili:

--add-drop-table - aggiunge comandi DROP TABLE prima di ogni CREATE TABLE nel dump, eliminando le tabelle esistenti prima di ripristinarle.

--no-data - esporta solo la struttura del database senza i dati. Utile, ad esempio, per copiare le tabelle cache di Drupal, che spesso contengono centinaia di migliaia di record inutili.

--add-locks - aggiunge i comandi LOCK TABLES e UNLOCK TABLES. Se il database è molto grande, le tabelle potrebbero restare bloccate per un certo tempo.

 Come creare un backup del database MySQL con compressione

Questo è probabilmente il metodo più efficiente, poiché consente di ridurre le dimensioni del backup anche di 10–20 volte, rendendo gestibili anche i dump di database molto grandi. Per comprimere useremo il comando gzip:

$ mysqldump -u root -p DrupalDB | gzip -9 > backup.sql.gz

Se vuoi decomprimere il file (non ripristinare il database, solo estrarlo), usa questo comando:

$ gunzip backup.sql.gz

Come ripristinare un database MySQL da un backup

Per ripristinare un database da un dump, ti serve un database vuoto. Puoi eliminare le tabelle tramite Adminer o phpMyAdmin. Se hai usato l’opzione --add-drop-table, le tabelle verranno eliminate e ricreate automaticamente, quindi non serve cancellarle prima. Ecco il comando per ripristinare il database dal dump:

$ mysql -u root -p DrupalDB < backup.sql

Se il backup è compresso, usa questo comando:

gunzip < backup.sql.gz | mysql -u root -p DrupalDB

 Backup e ripristino tramite Adminer (alternativa a PhpMyAdmin)

 Adminer è un’alternativa a PhpMyAdmin. Offre le stesse funzionalità ma in un unico piccolo file, molto comodo da usare:

http://www.adminer.org/

Basta copiare il file nella directory principale del sito e aprirlo nel browser:

http://nome_del_tuo_sito/adminer-4.2.1.php (puoi rinominarlo in adminer.php per comodità):

Accedi e seleziona il database desiderato, ad esempio Drupal7.

drupal adminer

Ora fai clic su “Esporta (Dump)” per scaricare i dati. Puoi anche escludere le tabelle cache o altri dati non necessari:

adminer export

Per caricare nuovamente il dump, usa la scheda “Importa (Import)”:

adminer import