So kopieren Sie eine Datenbank mit HeidiSQL?
Ich habe eine lokale installation von MariaDB auf einem Windows XP.
Ich erstelle eine leere Datenbank db_y
die ich wollte zu füllen mit den Tabellen der Datenbank db_x
die ich exportiert als dump-Datei aus einer MySQL-Instanz (mit HeidiSQL).
Wenn ich importiert die dump-Datei db_x.sql in der MariaDB Instanz:
c:\ > mysql -u root -h localhost -p db_y < "X:/archive/db_x.sql"
Habe ich die folgenden:
- MariaDB-inst
+db_x
+db_y
db_y
bleibt leer und db_x
von der dump-Datei Hinzugefügt wurde (db_x ist der name der Datenbank der original-Datenbank habe ich exportiert).
Was muss ich tun, um den gewünschten Datenbank Namen?
Ich dachte, ich könnte den Namen der Datenbank ändern, in der db_x.sql-Datei, aber ich wollte nicht öffnen Sie eine so große Datei.
Kann ich den import-Befehl von oben in einer Weise, dass es den Namen der Datenbank ändern?
Ich bin auch interessiert an dieser Art von Lösung:
CREATE DATABASE y FROM DATABASE x
Ist so etwas möglich?
Im Netz finde ich die Lösung BENENNEN Sie die DATENBANK, die wurde nicht empfohlen und ALTER DATABASE db_x AKTUALISIERUNG von DATEN-VERZEICHNIS NAME
aber ernsthaft, habe ich es vorgezogen, erstellen Sie eine neue Datenbank mit dem neuen Namen.
Vielen Dank für jede Hilfe.
- Verwenden Sie bitte nicht die Formatierung des Codes zu markieren zufällige Wörter (wie MariaDB oder Windows XP) Es soll nur für den eigentlichen code.
- vielen Dank für Ihren Kommentar werde ich im Auge behalten.
- ich fand Ihre syntax des import seltsam, normalerweise geht es: mysql -u username-p -h localhost Datenbankname < Datei.sql, also mit Datenbank Namen nach -h Befehl-und nicht nach -p
- Bitte stellen Sie sicher, dass die Tabellennamen in deinem dump nicht über name der Datenbank, d.h. es sollte eine "tbl", nicht "db_x.tbl". Wenn Sie Datenbank-name Ihrer dump sollte
db_x
wieder - Danke für die Antwort. Der nächste dump importieren, ich werde tun, wie Sie vorschlagen, und informieren, wenn es einen Effekt hat.
- Danke für den Hinweis. Ich vermute auch, dass dies der Grund sein könnte. Ja, haben Sie, um herauszufinden, wie export-dump-Datei mit HeidiSQL ohne Präfix der name der Datenbank.
- Bleibt das problem mit der syntax, die Sie vorgeschlagen. Glaubst du wirklich, dass die Reihenfolge einen Einfluss hat?
- ich bin mir nicht sicher,obwohl für mich scheint es logisch, dass Sie angeben, Datenbank-name (db_y) nach dem Hostnamen (localhost) und nicht nach dem Passwort. Es ist die Weise, die ich immer benutze, und die Art und Weise, die ich sah mehrere tutorials. Wenn Ihr problem woanders. Sie sicher, dass Pfad zur sql-Datei korrekt ist?
- Ich löste dieses problem mit HeidiSql (siehe anser unten). Ich denke, dass der Grund einfach, dass die dump-Datei enthält die sql-Datenbank zu erschaffen, db_x. Siehe auch die Antwort von ravnur.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Betrachten haben Sie zwei Datenbanken:
source_db
undtarget_db
. Wenn Sie wollen kopieren den Inhalt der Datenbank aussource_db
zutarget_db
Sie tun sollten, Folgen Sie in HeidiSQL:source_db
dann wählen Sie: Datenbank Exportieren als SQL.target_db
- und das ist alles.Gibt es eine einfache Möglichkeit zum übertragen einer Datenbank von einer Instanz zu einer anderen mit HeidiSQL:
Versuchen, MySQL Workbench. Es ist von MySQL und ich habe festgestellt, dass es sich hervorragend für das sichern einer Datenbank und wiederherstellen Sie es unter einem anderen Namen.
http://dev.mysql.com/downloads/workbench/
HeidiSQL ist export-dialog haben vor kurzem eine neue option namens "Max INSERT-Größe". Dies steuert die Anzahl der Zeilen in bulk/mehrere INSERT-Befehle.
Da gibt es auch eine Dokumentation für diese export-dialog.