Wie stelle ich eine Speicherauszugsdatei von mysqldump wieder her?

Ich habe eine MySQL-databasedatei erhalten, die ich als database auf meinem Windows Server 2008-Rechner wiederherstellen muss.

Ich habe versucht mit MySQL Administrator, aber ich habe den folgenden Fehler:

Die ausgewählte Datei wurde von mysqldump generiert und kann von dieser Anwendung nicht wiederhergestellt werden.

Wie bekomme ich das zum Laufen?

Es sollte so einfach wie das Ausführen sein:

mysql -u  -p < db_backup.dump 

Wenn der Speicherauszug aus einer einzelnen database besteht, müssen Sie möglicherweise eine Zeile am Anfang der Datei hinzufügen:

 USE ; 

Wenn es sich um einen Speicherauszug für viele databaseen handelt, sind die Use-statementen bereits vorhanden.

Um diese Befehle auszuführen, öffnen Sie eine Eingabeaufforderung (in Windows) und mysql.exe Sie in das Verzeichnis, in dem sich die mysql.exe Datei mysql.exe befindet (Sie müssen sich vielleicht ein wenig umschauen, es hängt davon ab, wie Sie mysql installiert haben, dh Standalone oder als Teil eines Pakets wie WAMP). Sobald Sie in diesem Verzeichnis sind, sollten Sie in der Lage sein, den Befehl wie oben beschrieben einzugeben.

Wenn die database, die Sie wiederherstellen möchten, noch nicht existiert, müssen Sie sie zuerst erstellen.

Verwenden Sie in der Befehlszeile diese Befehle (mit entsprechenden Ersetzungen), wenn Sie sich in demselben Verzeichnis befinden, das die gedumpte Datei enthält:

 C:\> mysql -u root -p mysql> create database mydb; mysql> use mydb; mysql> source db_backup.dump; 

Sie müssen das einfach ausführen:

mysql -p -u[user] [database] < db_backup.dump

Wenn der Speicherauszug mehrere databaseen enthält, sollten Sie den databasenamen weglassen:

mysql -p -u[user] < db_backup.dump

Um diese Befehle auszuführen, öffnen Sie eine Eingabeaufforderung (in Windows) und mysql.exe Sie in das Verzeichnis, in dem sich die mysql.exe Datei mysql.exe befindet (Sie müssen sich vielleicht ein wenig umschauen, es hängt davon ab, wie Sie mysql installiert haben, dh Standalone oder als Teil eines Pakets wie WAMP). Sobald Sie in diesem Verzeichnis sind, sollten Sie den Befehl eingeben können.

 mysql -u username -p -h localhost DATA-BASE-NAME < data.sql 

schaue hier - Schritt 3 : So brauchst du die USE-statement nicht

Wenn wir eine dump-Datei mit mysqldump erstellen, enthält sie ein großes SQL-Skript zum Neuerstellen des databaseinhalts. Also stellen wir es wieder her, indem wir den Kommandozeilen-Client von MySQL starten:

 mysql -uroot -p 

(wo root unser Admin-Benutzername für MySQL ist), und sobald wir mit der database verbunden sind, benötigen wir Befehle, um die database zu erstellen und die Datei einzulesen:

 create database new_db; use new_db; \. dumpfile.sql 

Die Details hängen davon ab, welche Optionen beim Erstellen der Speicherabbilddatei verwendet wurden.

Ich habe es geschafft, diesen Schritten zu folgen …

  1. Öffnen Sie den MySQL-Administrator und stellen Sie eine Verbindung zum Server her

  2. Wählen Sie “Kataloge” auf der linken Seite

  3. Klicken Sie mit der rechten Maustaste in das untere linke Kästchen und wählen Sie “Create New Schema”

    MySQL Administrator http://img204.imageshack.us/img204/7528/adminsx9.th.gif Bild vergrößern

  4. Benennen Sie das neue Schema (Beispiel: “dbn”)

    MySQL Neues Schema http://img262.imageshack.us/img262/4374/newwa4.th.gif Bild vergrößern

  5. Öffnen Sie die Windows-Eingabeaufforderung (cmd)

    Windows Eingabeaufforderung http://img206.imageshack.us/img206/941/startef7.th.gif Bild vergrößern

  6. Ändern Sie das Verzeichnis in den MySQL-Installationsordner

  7. Befehl ausführen:

     mysql -u root -p dbn < C:\dbn_20080912.dump 

    ... wobei "root" der Name des Benutzers ist, "dbn" ist der databasename und "C: \ dbn_20080912.dump" ist der Pfad / Dateiname der mysqldump .dump-Datei

    MySQL dump Restore-Befehlszeile http://img388.imageshack.us/img388/2489/cmdjx0.th.gif Bild vergrößern

  8. Genießen!

Sie können versuchen SQLyog ‘SQL-Skript ausführen ‘ Tool zum Importieren von SQL / Dump-Dateien.

Bildbeschreibung hier eingeben

Wenn Sie den Fortschritt des Speicherabzugs anzeigen möchten, versuchen Sie Folgendes:

pv -i 1 -p -t -e / pfad / zu / sql / dump | mysql -u USERNAME -p DATENBANKNAME

Sie müssen natürlich ‘pv’ installiert haben. Dieser Befehl funktioniert nur bei * nix.

 ./mysql -u  -p  -h   < db_dump-file 

Als spezifisches Beispiel für eine vorherige Antwort:

Ich musste ein Backup wiederherstellen, damit ich es in SQL Server importieren / migrieren konnte. Ich habe nur MySql installiert, aber ich habe es nicht als Dienst registriert oder es meinem Pfad hinzugefügt, da ich es nicht weiter laufen lassen muss.

Ich habe Windows Explorer verwendet, um meine Speicherauszugsdatei in C: \ code \ dump.sql zu speichern. Dann öffnete MySql aus dem Startmenüpunkt. Die DB erstellt und dann den Quellbefehl mit dem vollständigen Pfad wie folgt ausgeführt:

 mysql> create database temp mysql> use temp mysql> source c:\code\dump.sql 

Führen Sie den Befehl aus, um in den DB zu gelangen

  # mysql -u root -p 

Geben Sie das Passwort für den Benutzer ein. Erstellen Sie dann einen neuen DB

 mysql> create database MynewDB; mysql> exit 

Und machen Sie exit.Afetr that.Run diesen Befehl

 # mysql -u root -p MynewDB < MynewDB.sql 

Dann geben Sie in die database und geben Sie ein

 mysql> show databases; mysql> use MynewDB; mysql> show tables; mysql> exit 

Das ist es ........ Ihr Dump wird von einem DB zu einem anderen DB wiederhergestellt

Oder es gibt einen alternativen Weg für die Dump-Wiederherstellung

 # mysql -u root -p 

Dann geben Sie in die database und geben Sie ein

 mysql> create database MynewDB; mysql> show databases; mysql> use MynewDB; mysql> source MynewDB.sql; mysql> show tables; mysql> exit 

Mit einer 200MB Dump – Datei, die unter Linux zur Wiederherstellung unter Windows mit mysql 5.5 erstellt wurde, hatte ich mehr Erfolg mit der

 source file.sql 

Ansatz von der MySQL-Eingabeaufforderung als mit der

 mysql < file.sql 

Ansatz auf der Kommandozeile, dass einige Fehler 2006 verursacht "Server ist weggegangen" (auf Windows)

Seltsamerweise bezieht sich der während der Installation von (mysql) erstellte Dienst auf eine Datei my.ini, die nicht existiert. Ich habe die "große" Beispieldatei nach my.ini kopiert, die ich bereits mit den empfohlenen Erhöhungen modifiziert hatte.

Meine Werte sind

 [mysqld] max_allowed_packet = 64M interactive_timeout = 250 wait_timeout = 250 

Sie können das Wiederherstellen-Menü in MySQL Admin nicht verwenden, wenn das Backup / Dump nicht von dort erstellt wurde. Es ist einen Versuch wert. Wenn Sie “Fehler ignorieren” mit dem Kontrollkästchen dafür auswählen, wird es als erfolgreich abgeschlossen angezeigt, obwohl es mit nur einem Bruchteil der importierten Zeilen beendet wird. Dies ist bei einem Speicherabzug der Fall.

Einzeiliger Befehl zum Wiederherstellen der generierten SQL von mysqldump

 mysql -u  -p -e "source ;" 

Sie können auch das Wiederherstellungsmenü in MySQL Administrator verwenden. Sie müssen nur die Sicherungsdatei öffnen und dann auf die Schaltfläche zum Wiederherstellen klicken.