phpMyAdmin
 sql >> Datenbank >  >> Database Tools >> phpMyAdmin

Wie kann ich meine MYI-, MYD-Tabellen von .FRM wiederherstellen?

Die .frm Dateien enthalten nur Metadaten über die Struktur der Tabelle. Sie enthalten nicht Ihre Daten.

Für eine MyISAM-Tabelle ist die .MYD Datei ist im Grunde die Tabelle (ohne Metadaten oder Indizes); Wenn es weg ist, sind Ihre Daten weg. Es gibt wahrscheinlich eine Möglichkeit, "leere" Dateien zu generieren und von vorne zu beginnen, aber ja. Ohne sie haben Sie keine Daten.

Die .MYI Dateien enthalten Indizes, AFAIK. Diese können neu generiert werden, aber nicht ohne die Daten.

Wenn Ihre Tabellen jedoch InnoDB-Tabellen wären, könnten Sie Glück haben. Es wird kein .MYD geben oder .MYI für InnoDB-Tabellen; die Daten, die darin enthalten gewesen wären, befinden sich stattdessen in ibdata1 . Möglicherweise können Sie (nachdem Sie mysqld gestoppt haben) einfach die .frm einschleichen und ib* Dateien an die richtigen Positionen und lassen Sie mysqld sie sehen, wenn es neu startet.

Das funktioniert natürlich nicht, wenn Sie es bereits haben InnoDB-Datendateien - oder besser gesagt, wenn dies der Fall ist, verlieren Sie am Ende alle vorhandenen InnoDB-Tabellen. In diesem Fall könnten Sie die Dateien jedoch in ein anderes Verzeichnis legen und eine mysqld-Instanz starten, die auf dieses Verzeichnis zeigt. Das würde Ihnen für mysqldump genügen eine Tabelle als SQL, damit Sie sie in die neue Datenbank importieren können.