Ich erhielt eine MySQL-Datenbankdatei, die ich als Datenbank auf meinem Windows Server 2008-Computer wiederherstellen muss.
Ich habe versucht, MySQL Administrator zu verwenden, aber ich habe folgende Fehlermeldung erhalten:
Die ausgewählte Datei wurde von .__ generiert. mysqldump und kann nicht von .__ wiederhergestellt werden. Diese Anwendung.
Wie bekomme ich das zum Laufen?
Es sollte so einfach sein wie das Ausführen:
mysql -u <user> -p < db_backup.dump
Wenn es sich bei dem Speicherauszug um eine einzelne Datenbank handelt, müssen Sie möglicherweise eine Zeile am Anfang der Datei hinzufügen:
USE <database-name-here>;
Wenn es sich bei vielen Datenbanken um einen Speicherauszug handelt, sind die use-Anweisungen bereits vorhanden.
Um diese Befehle auszuführen, öffnen Sie eine Eingabeaufforderung (unter Windows) und cd
für das Verzeichnis, in dem sich die mysql.exe
-Programmdatei befindet (möglicherweise müssen Sie sich ein bisschen umsehen, es hängt davon ab, wie Sie mysql installiert haben, dh als eigenständige Anwendung oder als Teil eines Pakets wie WAMP). Sobald Sie sich in diesem Verzeichnis befinden, sollten Sie den Befehl einfach so eingeben können, wie ich es oben habe.
Wenn die Datenbank, die Sie wiederherstellen möchten, noch nicht vorhanden ist, müssen Sie sie zuerst erstellen.
Wenn Sie sich in der Befehlszeile in demselben Verzeichnis befinden, in dem sich die ausgelesene Datei befindet, verwenden Sie diese Befehle (mit entsprechenden Ersetzungen):
C:\> mysql -u root -p
mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
Sie müssen einfach das ausführen:
mysql -p -u[user] [database] < db_backup.dump
Wenn der Speicherauszug mehrere Datenbanken enthält, sollten Sie den Datenbanknamen weglassen:
mysql -p -u[user] < db_backup.dump
Um diese Befehle auszuführen, öffnen Sie eine Eingabeaufforderung (unter Windows) und cd
für das Verzeichnis, in dem sich die mysql.exe
-Programmdatei befindet (möglicherweise müssen Sie sich ein bisschen umsehen, es hängt davon ab, wie Sie mysql installiert haben, dh als eigenständige Anwendung oder als Teil eines Pakets wie WAMP). Sobald Sie sich in diesem Verzeichnis befinden, sollten Sie einfach den Befehl eingeben können.
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql
schau hier - Schritt 3 : Auf diese Weise brauchst du keine USE-Anweisung
Wenn wir eine Dump-Datei mit mysqldump
erstellen, enthält sie ein umfangreiches SQL-Skript zum Wiederherstellen der Datenbankinhalte. Wir stellen es also wieder her, indem Sie den Befehlszeilen-Client von MySQL starten:
mysql -uroot -p
(wobei root
unser Admin-Benutzername für MySQL ist), und sobald wir mit der Datenbank verbunden sind, benötigen wir Befehle zum Erstellen der Datenbank und zum Einlesen der Datei:
create database new_db;
use new_db;
\. dumpfile.sql
Details hängen davon ab, welche Optionen beim Erstellen der Speicherauszugsdatei verwendet wurden.
Ich habe es geschafft, nach diesen Schritten zu arbeiten…
Öffnen Sie MySQL Administrator und stellen Sie eine Verbindung zum Server her
Wählen Sie links "Kataloge"
Klicken Sie mit der rechten Maustaste in das linke untere Feld und wählen Sie "Neues Schema erstellen".
MySQL Administrator http://img204.imageshack.us/img204/7528/adminsx9.th.gifBild vergrößern
Benennen Sie das neue Schema (Beispiel: "dbn")
MySQL Neues Schema http://img262.imageshack.us/img262/4374/newwa4.th.gifBild vergrößern
Öffnen Sie die Windows-Eingabeaufforderung (cmd).
Windows-Eingabeaufforderung http://img206.imageshack.us/img206/941/startef7.th.gifBild vergrößern
Wechseln Sie in das MySQL-Installationsverzeichnis
Befehl ausführen:
mysql -u root -p dbn < C:\dbn_20080912.dump
… Wobei "root" der Name des Benutzers ist, "dbn" der Datenbankname und "C:\dbn_20080912.dump" der Pfad/Dateiname der Datei mysqldump
MySQL-Dump-Restore-Befehlszeile http://img388.imageshack.us/img388/2489/cmdjx0.th.gifBild vergrößern
Genießen!
Führen Sie den Befehl aus, um in die Datenbank zu gelangen
# mysql -u root -p
Geben Sie das Kennwort für den Benutzer ein und erstellen Sie eine neue Datenbank
mysql> create database MynewDB;
mysql> exit
Und beenden Sie das Programm. Führen Sie diesen Befehl aus. Führen Sie diesen Befehl aus
# mysql -u root -p MynewDB < MynewDB.sql
Dann geben Sie in die Datenbank ein und geben Sie ein
mysql> show databases;
mysql> use MynewDB;
mysql> show tables;
mysql> exit
Das ist es ........ Ihr Dump wird von einer DB in eine andere DB wiederhergestellt
Andernfalls gibt es eine alternative Möglichkeit zum Wiederherstellen der Sicherung
# mysql -u root -p
Dann geben Sie in die Datenbank ein und geben Sie ein
mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit
Sie können das Tool SQLyog 'Execute SQL script' (SQL-Skript ausführen) ausführen, um SQL/Dump-Dateien zu importieren.
Wenn Sie den Fortschritt des Dumps anzeigen möchten, versuchen Sie Folgendes:
pv -i 1 -p -t -e/pfad/to/sql/dump | mysql -u USERNAME -p DATENBANKNAME
Sie müssen natürlich 'pv' installieren. Dieser Befehl funktioniert nur bei * nix.
./mysql -u <username> -p <password> -h <Host-name like localhost> <database-name> < db_dump-file
Als konkretes Beispiel für eine vorherige Antwort:
Ich musste ein Backup wiederherstellen, um es in SQL Server importieren/migrieren zu können. Ich habe nur MySql installiert, es jedoch nicht als Dienst registriert oder meinem Pfad hinzugefügt, da es nicht erforderlich ist, dass es ausgeführt wird.
Ich habe Windows Explorer verwendet, um meine Sicherungsdatei in C:\code\dump.sql abzulegen. Dann öffnet MySql aus dem Startmenüpunkt. Die Datenbank wurde erstellt und anschließend der Quellbefehl mit dem vollständigen Pfad ausgeführt:
mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql
Mit einer unter Linux erstellten 200-MB-Dump-Datei zur Wiederherstellung unter Windows mit Mysql 5.5 hatte ich mehr Erfolg mit der
source file.sql
ansatz von der Mysql-Eingabeaufforderung als mit der
mysql < file.sql
annäherung auf der Befehlszeile, die einige Fehler 2006 "Server ist weg" (unter Windows) verursacht
Seltsamerweise bezieht sich der während der Installation von (MySQL) erstellte Dienst auf eine my.ini-Datei, die nicht vorhanden war. Ich habe die "große" Beispieldatei in my.ini Kopiert, die ich bereits mit den empfohlenen Erhöhungen geändert hatte.
Meine Werte sind
[mysqld]
max_allowed_packet = 64M
interactive_timeout = 250
wait_timeout = 250
Sie können das Wiederherstellungsmenü in MySQL Admin nicht verwenden, wenn das Backup/Dump dort nicht erstellt wurde. Es ist jedoch einen Versuch wert. Wenn Sie mit dem Kontrollkästchen "Fehler ignorieren" wählen, wird dies als erfolgreich abgeschlossen angezeigt, obwohl es eindeutig nur einen Bruchteil der importierten Zeilen enthält. Dies ist jedoch ein Dump.
Einzeiliger Befehl zum Wiederherstellen des generierten SQL aus mysqldump
mysql -u <username> -p<password> -e "source <path to sql file>;"
Angenommen, Sie haben bereits eine leere Datenbank erstellt, können Sie eine Datenbank auch wie folgt über die Befehlszeile wiederherstellen:
Sudo mysql databasename < backup.sql
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.
Sie können das Ablegen ausführen und Befehle auf einer Abfrage-Registerkarte erstellen.
DROP DATABASE `your_db_name`;
CREATE SCHEMA `your_db_name`;