Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So stellen Sie die MySQL-Datenbank aus .myd-, .myi-, .frm-Dateien wieder her

Wenn es sich um MyISAM-Tabellen handelt, werden die .FRM-, .MYD- und .MYI-Dateien in ein Datenbankverzeichnis kopiert (z. B. /var/lib/mysql/dbname ) wird diese Tabelle verfügbar machen. Es muss nicht die gleiche Datenbank sein, aus der sie stammen, der gleiche Server, die gleiche MySQL-Version oder die gleiche Architektur. Möglicherweise müssen Sie auch den Eigentümer des Ordners ändern (z. B. chown -R mysql:mysql /var/lib/mysql/dbname )

Beachten Sie, dass Berechtigungen (GRANT , usw.) sind Teil von mysql Datenbank. Sie werden also nicht zusammen mit den Tischen restauriert; Sie müssen möglicherweise den entsprechenden GRANT ausführen Anweisungen zum Erstellen von Benutzern, Gewähren des Zugriffs usw. (Wiederherstellen der Datei mysql Datenbank ist möglich, aber Sie müssen mit MySQL-Versionen und allen erforderlichen Läufen von mysql_upgrade vorsichtig sein Dienstprogramm.)

Eigentlich brauchen Sie wahrscheinlich nur die .FRM (Tabellenstruktur) und .MYD (Tabellendaten), aber Sie müssen die Tabelle reparieren, um die .MYI (Indizes) neu zu erstellen.

Die einzige Einschränkung ist, dass Sie bei einem Downgrade am besten die Versionshinweise überprüfen (und wahrscheinlich die Reparaturtabelle ausführen). Neuere MySQL-Versionen fügen natürlich Funktionen hinzu.

[Obwohl es offensichtlich sein sollte, dass die Integrität der Beziehungen zwischen diesen Tabellen Ihr Problem ist, wenn Sie Tabellen mischen und anpassen; MySQL wird es egal sein, aber Ihre Anwendung und Ihre Benutzer vielleicht. Außerdem funktioniert diese Methode überhaupt nicht für InnoDB-Tabellen. Nur MyISAM, aber in Anbetracht der Dateien, die Sie haben, haben Sie MyISAM]