2014-04-20 15 views
6

ich mit meiner alle MySQL-Datenbanken gesichert habe er das Kommando folgendewiederherstellen alle MySQL-Datenbank aus einer --all-Datenbank sql.gz Datei

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

nur werde ich in der Lage wissen wollten alle die Wiederherstellung Datenbank mit folgendem Befehl

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

Können Sie mir auch sagen, wie Sie alle mysql-Benutzer sichern können?

Ich kann es nicht testen, weil ich nicht sicher bin, und ich will keine db auf meinem aktuellen System brechen

Antwort

13

Ja. Im Allgemeinen komprimierte Backup-Dateien wiederherstellen Sie folgendes tun:

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

Bitte konsultieren How to Back Up and Restore a MySQL Database

Beachten Sie, dass die --all-databases Option zur Sicherung nur anwendbar ist. Die Sicherungsdatei selbst enthält alle relevanten CREATE DATABASE quux; Befehle für die Wiederherstellung.

+0

nichts erwähnt über die Datenbanken von einer all_db.sql.gz Datei – ahhmarr

+0

haha ​​ich weiß wiederherstellen. was ich meinte war, dass sie nicht spezifiziert haben, wie man aus einem --all-database backup – ahhmarr

+0

wiederherstellen Ihre --all-Datenbank-Ausgabedatei sollte die notwendigen 'CREATE DATABASE foo;' Befehle für die gesicherten dbs enthalten, also wenn Sie wiederherstellen Von diesem werden alle Datenbanken wiederhergestellt. Sie können die Datei 'all.sql' und grep für diese Befehle öffnen, um sicherzustellen, dass alle dbs erwähnt werden. – mockinterface

2

Dies ist der Befehl, den ich alle Datenbanken in MySQL Backup verwenden:

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" 
  • Die '--all-databases' Option weist den Befehl alle Datenbanken aufzunehmen. Wenn Sie eine oder mehrere angeben möchten, dann entfernen Sie diese Option und ersetzen Sie sie durch '--databases dbname1 dbname2 dbnameX'
  • Um alle Ihre mysql Benutzer, Passwörter, Berechtigungen zu sichern, schließen Sie die 'mysql' Datenbank in Ihre Sicherung ein. Die Option --all-databases enthält diese Datenbank in der Sicherung.
  • Die Option '--routinen' enthält gespeicherte Prozeduren und Funktionen in der Sicherung.
  • Die Option '--triggers' enthält alle Trigger im Backup.

aus einer * .gz mysqldump Datei wieder her:

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