Ich habe das Datenverzeichnis von MySQL aus einer Sicherung extrahiert und muss das Schema aus einer alten Tabelle abrufen, es ist jedoch eine Sicherung von einem anderen Computer.
Ich habe heute eine ganze Reihe von Tutorials darüber gelesen, aber jedes Mal, wenn es fehlschlägt oder ich MySQL neu installieren muss, weil MySQL hängt oder abstürzt. Ich habe folgendes versucht:
- Erstellen Sie eine andere Datenbank
- Erstellen Sie eine Tabelle mit demselben Namen in dieser Datenbank
- Datei ersetzen
- Motor stoppen / starten
- Wiederherstellen aus der
.frm
Datei
Ich habe es in verschiedenen Reihenfolgen und Kombinationen versucht.
Gibt es ein externes Tool, das das Schema aus der .frm
Datei extrahieren kann ? Ich kann die Spaltennamen sehen, wenn ich die Datei öffne. Ich habe nachgesehen, aber ich kann anscheinend nichts finden, was mir dies ermöglicht.
Danke im Voraus.
Antworten:
Bei TwinDB haben wir ein Webinterface für erstellt
mysqlfrm
. Es ist kostenlos und einfach zu bedienen.Um die Tabellenstruktur wiederherzustellen, müssen Sie nur die .frm-Datei hochladen.
Hier sind Schritte. 1. Öffnen Sie https://recovery.twindb.com/ . Klicken Sie auf "Struktur wiederherstellen"
Klicken Sie im nächsten Untermenü auf "Aus .frm-Datei".
Klicken Sie in der nächsten Ansicht auf "Durchsuchen" und wählen Sie eine .frm-Datei auf einer lokalen Festplatte aus. Klicken Sie auf "Hochladen"
Warten Sie, bis es die Magie tut
Holen Sie sich die wiederhergestellte Struktur.
Es ist auch möglich, ein Archiv mit einer Reihe von .frm-Dateien hochzuladen. Die Site wird sie insgesamt wiederherstellen.
quelle
mysqlfrm
(ich habe Version 1.6.5 heruntergeladen ) und führen Sie dies ausmysqlfrm --diagnostic /path/to/my_table.frm
Ich habe solche Fragen schon einmal beantwortet
Dec 21, 2011
: Tabellenkomprimierung in InnoDB?Feb 03, 2012
: So stellen Sie die MySQL-Tabellenstruktur aus FRM-Dateien wieder herApr 23, 2012
: Tabelle aus .frm und .ibd Datei wiederherstellen?Ich habe zu einem genannten Blog von Chris Kalender auf
.ibd
Verbindungsdateien in dem Data Dictionary zurück.Wenn Sie nicht die haben
.ibd
zusammen mit.frm
, die Chancen sind MySQL mit lief innodb_file_per_table ab. Bitte beachten Sie denFeb 03, 2012
Beitrag dazu. Wenn dies Linux ist, stellen Sie sicher, dass Sie ausführenvor dem Start von MySQL.
Versuche es !!!
ZUSÄTZLICHE INFO
Am Ende dieses letzten Blogs steht:
UPDATE 2013-06-11 14:05 EDT
Ich habe gute Nachrichten. Ich habe die Windows-Version der MySQL-Dienstprogramme installiert. Ich habe das Programm mysqlfrm über die Befehlszeile getestet. Ich habe getestet, wie die
.frm
Informationen von user.frm im MySQL-Schema abgerufen werden. Folgendes habe ich bekommen:Es funktioniert wirklich. Die Datenbank wird auf meinem Desktop-Computer unter Verwendung von Port 3306 ausgeführt. Ich musste 3307 als Port angeben, um einen erzeugten Prozess auszuführen.
Ich könnte die
.frm
von einer Linux-Box auf den Windows-Computer verschieben und das Gleiche tun.Versuche es !!!
quelle