Corsi on-line

Fare il backup di un database MySQL con mysqldump

  • CommentiScrivi un commento
  • ForumDiscuti sul forum
  • Prev
  • NextSELECT con unioni di tabelle utilizzando INNER JOIN

Esistono diversi modi per fare il backup di un database MySQL ma il più famoso di questi è certamente l'utilizzo della utility mysqldump.
Con mysqldump, infatti, è possibile fare una esatta fotografia della struttura e del contenuto del nostro database che ci sarà molto utile in caso di crash o perdite di dati.
Per utilizzare mysqldump entriamo nella shell del nostro server e digitiamo:

mysqldump -u user -p db_da_copiare > backup.sql
Ovviamente dobbiamo inserire al posto di user il nostro utente di MySQL e al posto di db_da_copiare il nome esatto del database di cui vogliamo fare il backup.
Il database verrà copiato all'interno del file .sql che abbiamo specificato (nell'esempio backup.sql); questo file non è nulla di più di un comune file di testo al cui interno troveremo le istruzioni SQL che serviranno per ricostruire le tabelle (CREATE TABLE...) e popolarle con i vecchi dati (INSERT INTO...).
Con mysqldup, in sostanza, si effettua una operazione di reverse engineering del database.

Nell'esempio visto sopra abbiamo effettuato il backup di un intero database, ma avremmo potuto limitarci ad una sola tabella; in questo caso la sintassi da usare sarebbe stata:

mysqldump -u user -p db_da_copiare nome_tabella > backup.sql
Da segnalare inoltre che l'utility mysqldump per la copia di singole tabelle offre anche la possibilità di utilizzare la clausola WHERE, in questo modo:
mysqldump -u user -p -where="id>10" db_da_copiare nome_tabella > backup.sql
Nell'esempio qui sopra, infatti, abbiamo effettuato il dump della sola tabella indicata e limitatamente ai record con ID maggiore di 10.

Una volta creata la copia di backup del nostro DB non ci resta che vedere come effettuare il ripristino.
Entriamo nella shell del nostro server, entriamo in MySQL ed eventualmente creiamo un database vuoto (CREATE DATABASE...), poi usciamo da MySQL e, dalla shell, digitiamo:

mysql -u user -p nuovo_db < backup.sql
Alla richiesta digitiamo la password del MySQL ed ecco fatto! Il nostro nuovo database (che nell'esempio abbiamo chiamato nuovo_db) è pronto per essere utilizzato.

Corsi
  • Corso MS Access
    Corso MS Access
    Impara a creare e gestire database in maniera semplice e veloce. A partire da 29 €
  • Corso MySQL
    Corso MySQL
    Gestione del database open-source. A partire da 49 €
  • Corso SQL e Database
    Corso SQL e Database
    Creazione e gestione di database relazionali. A partire da 29 €
Vedi anche...
Guide