Automatizzare il Backup un un database MySql con MySqlDump

Mysql è uno dei database relazionali più utilizzati sui Webserver.
Nonostante sia un DB molto sicuro e stabile, è sempre una buona norma, effettuare periodicamente dei Backup per mettersi al sicuro da attacchi hacker o “disastri” che possano far perdere i dati in esso contenuti.

Ci sono  molti modi per eseguire un backup del db sia manuali che automatici.

Una di queste modalità prevede l’utilizzo di una utility presente tra i file del db stesso: mysqldump.

Mysqldump ci permette di fare una copia del nostro database, sia a livello di struttura, che a livello di dati, questo ci aiuterà a far fronte ad eventuali danni alla base dati oppure ad eventuali perdite di dati.

Può essere utilizzato per il dump di un database o un insieme di basi di dati per il backup o il trasferimento su un altro server SQL (non necessariamente un server MySQL).

Per utilizzare l’utility Mysqldump, dobbiamo accedere alla macchina sulla quale risiede il nostro database mysql, e lanciare i comandi direttamente dalla shell del nostro server.

Per effettuare il backup completo del database dobbiamo invocare il comando

mysqldump -u user -p[root_password] [database_name] > backup.sql

in questo modo avremo salvato tutto il db nel file chiamato backup.sql;

Un altro modo di usare l’utility è

mysqldump -u user -p[root_password] [database_name] nome_tabella > backup_tabella.sql

che permette di salvare solo una tabella nel file backup_tabella.sql.

Per ripristinare l’eventuale copia invece

mysql -u root -p[root_password] [database_name] < backup.sql

una tecnica molto efficiente è quella di automatizzare il backup.

Possiamo ifatti create un file batch in cui salvare i comandi per il backup e farlo eseguire come attività pianificata all’interno del nostro sitema operativo.
Il contenuto del file è semplice
Ad esempio se volessimo effettuare il backup di 2 databse salvando la data nel nome del file di output.

set dt=%date:~6,4%-%date:~3,2%-%date:~0,2%
mysqldump -uUser1 -pPassword1 –opt Database1 > c:\backup\Database1-%dt%.sql
mysqldump -uUser2 -pPassword2 –opt Database2 > c:\backup\Database2-%dt%.sql



About Mauro De Filippis 924 Articles
Laureato in Ingegneria Informatica nel 2008 presso l'Università degli Studi di Lecce con una tesi in Processi di Produzione Robotizzati dal titolo "Integrazione delle tecniche di progettazione del ciclo di lavorazione con programmazione della produzione”. Le mie attività principali sono : sviluppo di applicativi ANSI C per terminali POS basati su processori ARM Risc 32Bit con 2-4 MB di Ram (progettazione, sviluppo e test delle applicazioni ) sviluppo in ambiente .NET sviluppo Web in ambiente PHP, ASP Installazione, progettazione, utilizzo di Db MS SQL Server, Mysql, Acces , Oracle Da anni mi occupo di CMS Open Source, in particolare di Joomla e Wordpress. Mia è la Guida Wordpress 3.5, la Guida Joomla 2.5 , il Corso online Joomla! 2.5 ed il Corso online Wordpress Mi occupo anche di LMS in particolare di Moodle e Docebo. Google+ by Mauro De Filippis

Be the first to comment

Rispondi