martedì 18 giugno 2013

Appunti - MySQL - Backup di grandi database quando phpMyAdmin non funziona

Il backup da phpMyAdmin va continuamente in errore. Cosa fare?

[se non leggi bene l'articolo vai sul blog http://vincenzomiccolis.blogspot.it/ o sulla versione mobile http://bit.ly/AeHvgL]


Il post descrive cosa ho fatto io per i problemi che ho avuto nell'eseguire l'export di una base di dati MySQL cresciuta tanto. Export è una funzionalità che l'interfaccia grafica phpMyAdmin utile all'amministrazione di db MySQL offre nativamente. La GUI è frequentemente disponibile anche nei servizi a pagamento come sui Server Virtuali - Server Dedicati e Housing (VPS) di Aruba.

MySQL è una soluzione RDBMS tra le più diffuse sul web molto spesso a supporto di applicazioni opensource come per esempio phpBB3.0.


(continua sotto)
promo

Allo scopo è disponibile uno strumento molto utile: mysqldump. Tramite questo software è possibile eseguire il backup da riga di comando in tempi molto rapidi, e soprattutto, al primo colpo.

Per database più corposi, infatti, potrebbe non essere semplice eseguire il backup della base dati. Con un patrimonio di dati di oltre i 150MB le cose iniziano a complicarsi.

Per quale ragione si può voler eseguire una copia di salvataggio? Il backup può essere utile al fine di eseguire un eventuale ripristino in caso di perdita di dati, o più semplicemente per una migrazione su di un nuovo database.

Il tool mysqldump, può essere invocato a riga di comando. Nell'articolo (vedi Backup con mysqldump | Guida MySQL|MySQL|Mr.Webmaster) è descritto, passo per passo, come procedere su macchine Linux. Di seguito vediamo invece come ho eseguito la medesima operazione su Microsoft Windows Server 2003 SE64bit SP2.

Da prompt di DOS mi sono posizionato nella cartella in cui si trova l'eseguibile utilizzando il comando seguente:
cd [...]\bin\mysql

Poi ho lanciato il tool passando come parametro l'utente (-u) ed il db (dbExport) dal quale eseguire l'export, oltre al file in cui raccoglierlo. La password (-p) non è dichiarata di modo che venga richiesta dal sistema subito dopo. 
mysqldump -u [utenteExport] -p [dbExport] > [fileExport]

Premendo invio il sistema chiederà di inserire la password e successivamente procederà alla costruzione del backup.

Con questa sintassi il file di backup sarà creato nella medesima cartella in cui si trova il file mysqldump.exe.
Per chi lavora su VPS Aruba potrebbe andare giù Plesk. Nel caso mio, è stato sufficiente riavviare il servizio.

Il file così realizzato può essere aperto con un text editor, come Wordpad. Aprendolo sarà possibile verificare che contiene istruzioni sql in chiaro.

A questo punto si potrebbe anche tornare ad utilizzare phpMyAdmin, ma se il file troppo grande lo mandasse in timeout, sarà necessario intervenire. Si potrebbe suddividere il file di backup in sequenze di istruzioni meno lunghe. Oppure (io ho fatto così) si potrebbe provare ad eseguire anche l'import da riga di comando.

Per importare è possibile utilizzare mysql.exe da riga di comando come segue:
mysql -u [utenteImport] -p [dbImport] > [fileExport]

Premendo invio il sistema chiederà di inserire la password e procederà all'import.

(continua sotto)
promo
Se il post ti piace condividilo su Facebook
Tieni d'occhio questo post e i suoi commenti: iscriviti nella parte destra del blog.
Per qualsiasi dubbio, critica, segnalazione scrivimi a vm_tempbox-perparlarediweb[at]yahoo.it
Ricevi gratuitamente tutti i miei aggiornamenti del blog direttamente dal feed RSS ed in email.
Visita la mia pagina su Facebook e diventa fan. Segui @vincentmiccolis su Twitter dove oltre ai link agli articoli del blog condivido i link delle mie letture in tempo reale.
Istalla la toolbar del blog... è gratis!

Siti consultati:
mrwebmaster.it/
stackoverflow.com/ [EN]
thegeekstuff.com/ [EN]

Per leggere i post con più chiarezza ed un allineamento adattato agli schermi più piccoli di iPhone e smartphone usa la versione mobile. Vai a http://bit.ly/AeHvgL oppure clicca/scansiona il QR code quì sotto.

Download: Fast, Fun, Awesome

DISCLAIMER: Il contenuto dei miei articoli è reso disponibile così com'è. Per Parlare di Web non offre alcuna garanzia sui contenuti che sono forniti a solo scopo di intrattenimento e/o didattico con l'obiettivo di fare da spunto di riflessione per il lettore proponendo idee, concetti e recensioni di prodotti e servizi tecnologici. Il blog Per Parlare di Web non si assume alcuna responsabilità per ogni conseguenza dannosa che possa risultare al lettore dall'adozione di indicazioni descritte nei nostri articoli e nelle nostre guide hardware e software.