2012-06-18 13 views
13

Per fare un dump di un database direttamente in formato bz2, ho provato zippare il file dump utilizzando direttamente i tubi, come segue:Come posso uscita del tubo di bzip per MySQL per ripristinare i dati direttamente dal file bzippati in un database

mysqldump -u userName -p myDataBase | bzip2 -c > myDump.sql.bz2 

Voglio fare una cosa simile per il ripristino. Posso farlo utilizzando 2 comandi come segue: Comando 1:

bzip2 -d myDump.sql.bz2 

comando 2:

mysql -u userName -p myDataBase < myDump.sql 

volevo: Ora voglio utilizzare i tubi per ripristinare myDump.sql.bz2 al database myDataBase.

+1

volevo aggiungere che il tuo post originale ha un errore di battitura nel primo comando. Dovrebbe essere: mysqldump -u $ userName -p $ password $ databasename | bzip2 -c> $ databasename.tar.bz2 – Droidzone

risposta

23

bzip2 -dc myDump.sql.bz2 | mysql -u userName -p myDatabase - l'opzione -c di bzip2 consente di inviare l'output a stdout, che si sta già utilizzando quando è stato creato il dump.

+6

'bzcat' è una scorciatoia per' bzip2 -dc'. Se disponibile, puoi usarlo come 'bzcat myDump.sql.bz2 | mysql -u userName -p myDatabase'. – ADTC

5

provarlo:

bzcat dump.sql.bz2 | mysql -u name -p db