2014-04-20 14 views
6

ho sostenuto tutti i miei database MySQL con il comando che segueripristinare tutti i database mysql da un file sql.gz --all-banca dati

mysqldump -u root -ppasswod --all-databases | gzip > all.sql.gz 

Volevo solo sapere sarò in grado di ripristinare tutti i database con il seguente comando

gunzip < alldb.sql.gz | mysql -u root -ppassword -h localhost 

puoi dirmi anche come eseguire il backup di tutti gli utenti di mysql?

non posso provarlo, perché io non sono sicuro e non voglio rompere qualsiasi db sul mio sistema attuale

risposta

13

Sì. In generale, per ripristinare i file di backup compressi che si possono fare le seguenti operazioni:

gunzip < alldb.sql.gz | mysql -u [uname] -p[pass] [dbname] 

consultare How to Back Up and Restore a MySQL Database

Si noti che l'opzione --all-databases è applicabile solo il backup. Il file di backup stesso conterrà tutti i comandi CREATE DATABASE quux; rilevanti per il ripristino.

+0

niente è accennato circa il ripristino di database da un file all_db.sql.gz – ahhmarr

+0

haha ​​lo so. quello che intendevo era che non hanno specificato come ripristinare da un backup --all-databse – ahhmarr

+0

Il file di output --all-database dovrebbe contenere i comandi necessari 'CREATE DATABASE foo;' per il dbs di backup, quindi quando si ripristina da esso, tutti i database saranno ripristinati. È possibile aprire il file 'all.sql' e grep per questi comandi per assicurarsi che tutti i dbs siano menzionati. – mockinterface

2

Questo è il comando che uso per il backup di tutti i database in MySQL:

mysqldump -u USERNAME -p --all-databases --events --ignore-table=mysql.event --extended-insert --add-drop-database --disable-keys --flush-privileges --quick --routines --triggers | gzip > "all_databases.gz" 
  • L'opzione '--all-databases' dice al comando per includere tutti i database. Se si desidera specificare uno o più, rimuovere tale opzione e sostituirla con "--databases dbname1 dbname2 dbnameX"
  • Per eseguire il backup di tutti gli utenti, le password e le autorizzazioni di mysql, includere quindi il database "mysql" nel backup. L'opzione --all-databases include questo database nel backup.
  • L'opzione '--routine' include stored procedure e funzioni nel backup.
  • L'opzione "--triggers" include eventuali trigger nel backup.

Per ripristinare da un file mysqldump .gz *:

gunzip < all_databases.gz | mysql -u USERNAME -p