1310562730_batch_process by http://www.iconshock.com/

Backup dei database MySQL

Oggi mi sono accorto che sul server virtuale che ospita tutti i miei siti, NON effettuava il backup dei database MySQL. Tutti i file caricati e pubblicati venivano archiviati, ma i file relativi ai database no (siti di commercio elettronico compresi)…

Ho cercato una soluzione via PLESK, che è molto comodo e risparmia un sacco di fatiche, ma non ne sono venuto a capo. Plesk esegue un backup del SUO database, ma non di quelli che ospita.

Quindi ovviamente ho cercato su google e, tra forum e blog, ho capito che PLESK non lo sa fare, quindi bisogna utilizzare un eseguibile proprio di MySQL; il suo nome è mysqldump.

Il suo utilizzo è abbastanza semplice, ma bisogna saperlo utilizzare (e io ho dovuto imparare a farlo).
Per usarlo, occorre utilizzare la prompt di dos di windows (io sono su server 2008R2), e inserisco questa stringa:

mysqldump -uUTENTEDB -pPASSWORDDB –opt NOMEDATABASEMYSQL > backup.sql

nello specifico:
mysqldump è l’eseguibile
-uUTENTEDB e -pPASSWORDDB sono i comandi per utente e password, scritti senza spazi tra -u / -p e il valore
–opt serve per le opzioni (qui solo una, il nome del db)
nomedeldatabase, è ovviamente il nome
> backup.sql è il nome del file in formato sql.

Sinceramente però a me non serve backuppare un solo database, ma tutti quelli in MySQL; mysqldump mi viene in aiuto con il comando (sostituendo “–opt nomedatabase”)

–all-databases 

ho lanciato, ma non mi trovava l’esegibile, perchè bisogna recarsi tramite prompt alla cartella che lo contiene, ovvero quella dove è stato installato MySQL. Nel mio caso: c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL51\bin\

Quindi l’azione completa deve essere:

cd\
cd Program Files (x86)\Parallels\Plesk\Databases\MySQL51\bin\
mysqldump -uUSER -pPASSWORD --all-databases > C:\backup-MySql\MySql_Backup.sql

ottimo. Così funziona.
Ho salvato queste stringhe in un file chiamato backupmysql.bat e ho impostato una operazione pianificata per fare il backup tutte le notti, di tutti di db.

Sul sito: http://www.silvicius.com/2010/04/18/effettuare-il-backup-dei-database-mysql-in-windows/, l’autore, al quale vanno i miei complimenti, ha reso disponibile  anche degli script da scaricare, completi di nome del file sql con tanto di data della creazione. Ho provato ad utilizzarli, ma funzionano solo se lanciati a mano, non se eseguiti dal Plesk (non so il motivo, ritorna un errore del tipo The system cannot find the path specified)

Togliendo la data nel nome del file, funziona alla grande.

Per essere più sicuro, ho creato 7 batch che generano 7 file .sql differenti, in modo da avere almeno kil backup dei 7 giorni della settimana. Ovviamente ho dovuto anche creare 7 operazioni pianificate differenti.

 


Pubblicato

in

da

Tag: