Heim  >  Artikel  >  Datenbank  >  Wie kann ich InnoDB MySQL-Tabellendaten aus ibdata- und frm-Dateien wiederherstellen?

Wie kann ich InnoDB MySQL-Tabellendaten aus ibdata- und frm-Dateien wiederherstellen?

DDD
DDDOriginal
2024-09-12 20:17:001030Durchsuche

How to Recover InnoDB MySQL Table Data from ibdata and frm Files?

MySQL Server verwendet zwei Arten von Datenbankspeicher-Engines – InnoDB und MyISAM. Wenn die InnoDB-Speicher-Engine verwendet wird, speichert MySQL Server die Daten und Indizes in der .ibdata-Datei und das Tabellenschema in der .frm-Datei. Im Falle einer Beschädigung der InnoDB-Tabellen können Sie die Daten der InnoDB-MySQL-Tabellen problemlos aus .ibdata- und .frm-Dateien wiederherstellen, anstatt die vollständige Datenbanksicherung wiederherzustellen. In diesem Artikel besprechen wir, wie man Daten aus .ibdata- und .frm-Dateien in MySQL Server wiederherstellt.

Schrittweiser Prozess zur Wiederherstellung von InnoDB-Tabellen aus ibdata- und frm-Dateien

Hier ist der Schritt-für-Schritt-Prozess zum Wiederherstellen der Daten von InnoDB-Tabellen aus .frm- und .ibdata-Dateien in MySQL Server:

  • Sie müssen zuerst eine neue MySQL-Datenbank erstellen. Melden Sie sich dazu bei PhpMyAdmin an, klicken Sie auf die Option „Datenbanken“, geben Sie einen Datenbanknamen ein (z. B. „Clients“) und klicken Sie dann auf „Erstellen“.

  • Als nächstes gehen Sie in den Ordner Ihrer XAMPP-Installation, um die neu erstellte Datenbank zu überprüfen. Der Standardspeicherort ist C:xamppmysqldata.

  • Wenn Sie die neue Datenbank öffnen, werden Sie feststellen, dass sie keine Tabellen enthält. Um die Tabelle zu erstellen, benötigen Sie das Schema der Tabelle. Wenn Sie über eine aktualisierte Sicherungsdatei verfügen, können Sie das Schema und den Namen der Datenbank abrufen. Sie können denselben Namen zum Erstellen der Tabelle verwenden. Wenn Sie jedoch kein Backup haben, können Sie die .frm-Datei verwenden, um das Schema der Tabelle zu extrahieren. Es stehen online verschiedene zuverlässige Dienstprogramme zur Verfügung, die Ihnen beim Extrahieren von Tabellenschemata helfen können.

  • Verwenden Sie nun dasselbe Schema, um eine Tabelle in der neu erstellten Datenbank zu erstellen.

  • Sobald Sie die Tabelle erstellt haben, werden automatisch neue .frm- und .ibd-Dateien im Datenbankordner erstellt.

  • Als nächstes gehen Sie zu Ihrem XAMPP-Installationsordner und löschen die .ibd-Datei.

  • Kopieren Sie dann die ursprüngliche .ibd-Datei und fügen Sie sie in die neue Datenbank ein.

  • Bevor Sie die ursprüngliche .ibd-Datei kopieren, führen Sie die folgende Abfrage aus:
    ALTER TABLE Tabellenname DISCARD TABLESPACE;
    Hinweis: Der Befehl DISCARD TABLESPACE unterbricht die Verbindung zwischen der MySQL-Tabelle und dem Tablespace und hilft so, Inkonsistenzen und andere Probleme zu vermeiden.

  • Stellen Sie als Nächstes die Verknüpfung zwischen MySQL-Tabelle und Tablespace wieder her, indem Sie den folgenden Befehl verwenden:
    ALTER TABLE Tabellenname IMPORT TABLESPACE;
    Hinweis: Sie können Daten jeweils aus einer einzelnen Tabelle wiederherstellen, indem Sie .frm- und .ibd-Dateien verwenden. Wenn Sie mehrere Tabellen wiederherstellen müssen, nimmt dies viel Zeit in Anspruch, da Sie alle Schritte für jede Tabelle manuell ausführen müssen.

Alternative Lösung zur Wiederherstellung der InnoDB-MySQL-Tabelle

Um mehrere InnoDB-Tabellen gleichzeitig schnell und einfach aus der MySQL-Server-Datenbank wiederherzustellen, können Sie ein professionelles MySQL-Datenbank-Wiederherstellungstool verwenden. Stellar Repair for MySQL ist ein solches benutzerfreundliches Tool, mit dem InnoDB-Tabellen und andere Daten wie Primärschlüssel, Ansichten, Trigger usw. aus beschädigten oder beschädigten MySQL-Datenbanken wiederhergestellt werden können. Das Tool verfügt über eine umfangreiche und interaktive Benutzeroberfläche, die Ihnen hilft, den Reparatur- und Wiederherstellungsvorgang schnell und in nur wenigen einfachen Schritten durchzuführen.

Hauptmerkmale von Stellar Repair für MySQL

Hier sind einige wichtige Funktionen von Stellar Repair für MySQL:

  • Unterstützt MySQL Server 8.0.36 und niedrigere Versionen

  • Unterstützt alle MariaDB-Versionen bis 11.3.2

  • Stellt alle Daten aus MySQL-Datenbanken wieder her, einschließlich gelöschter Datensätze und Partitionstabellen

  • Repariert MySQL-Tabellen mit absoluter Präzision

  • Bietet eine erweiterte Vorschau der reparierten Daten vor dem Speichern

  • Ermöglicht die gleichzeitige Reparatur mehrerer Datenbanken

  • Ermöglicht das Speichern reparierter MySQL-Datenbanken in mehreren Formaten, wie MySQL, MariaDB, SQL Script, CSV, HTML und XLS

  • Kompatibel mit Windows- und Linux-Betriebssystemen, einschließlich CentOS 7 (64-Bit) / Red Hat Enterprise Linux 7 (64-Bit) und Ubuntu 16.04 (32-Bit und 64-Bit) / Ubuntu 18.04 und 19.10 (64-Bit)

Abschluss

Oben haben wir den detaillierten Schritt-für-Schritt-Prozess zur Wiederherstellung von InnoDB-MySQL-Tabellendaten aus ibdata- und .frm-Dateien erläutert. Dies ist jedoch nicht für die Wiederherstellung mehrerer Tabellen geeignet, da Sie alle Schritte für jede Tabelle manuell durchführen müssen. Alternativ können Sie ein professionelles MySQL-Datenbankwiederherstellungstool wie Stellar Repair for MySQL verwenden, mit dem Sie alle Objekte, einschließlich Tabellen, Primärschlüssel, Ansichten, Trigger usw., mit vollständiger Integrität aus beschädigten Datenbankdateien extrahieren können. Das Tool unterstützt die Reparatur von Datenbanken, die sowohl mit InnoDB- als auch mit MyISAM-Speicher-Engines erstellt wurden. Es wurde entwickelt, um ein breites Spektrum korruptionsbedingter Fehler in der MySQL-Datenbank zu beheben. Es ist auch eine kostenlose Demoversion von Stellar Repair für MySQL verfügbar, mit der Sie die Datenbankdatei scannen und eine Vorschau der wiederherstellbaren Daten anzeigen können.

Das obige ist der detaillierte Inhalt vonWie kann ich InnoDB MySQL-Tabellendaten aus ibdata- und frm-Dateien wiederherstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn