Wiederherstellung der Dateien und Tabellen der Datenbank von MySQL

Die Datenbank von MySQL wird standardmäßig auf dem Computer im Ordner auf der Festplatte С installiert:

C:\Program Files\MySQL\MySQL Server 5.7

Die Daten der Tabellen werden jedoch in einem anderen Ordner auf der Festplatte C des Computers gespeichert, und zwar auf:

C:\ProgramData\MySQL\MySQL Server 5.7\Data

Die Lage dieser Dateien ist im Menü Server Status der Anwendung MySQL Workbench, im Abschnitt Server Directories angegeben.

Wiederherstellung der Dateien und Tabellen der Datenbank von MySQL

Im Bedarfsfall einer Wiederherstellung der Tabellen der Datenbank wird zwar der Ordner mit den Daten der bestimmten Datenbank und die Dateien, welche sich in diesem Ordner befinden, von Interesse sein.

Dateien der Datenbanken von MySQL

MySQL ist mit vielen Formaten der Dateien kompatibel, wie, z. B.: .sql, .arm, .cnf, .dbs, .ddl, .frm, .ibd, .ism, .mrg, .myd, .myi, .mysql, .opt, .phl, .sal, .sqr, .tmd, .arz, .ibz, .ibc, .qbquery, .rul. Aber dieser Artikel ist nicht darüber. Heute sind für uns nur dieselbe Dateien interessant, in welchen die Daten und die Tabelle der Datenbankgespeichert sind, nach deren Wiederherstellung der Benutzer imstande wird, die wichtigen Informationen rückgängig zu machen und deren Verlust in der Zukunft zu vermeiden.

Die Daten jeder Datenbank werden im Ordner mit derer Bezeichnung gespeichert und werden je nach dem Typ der Tabelle in den Dateien mit folgenden Erweiterungen gespeichert:

  • db.opt – Datei, in der die Charakteristiken der Datenbank, welche bei ihrer Erstellung angegeben wurden, gespeichert sind;
  • .frm – Datei der Struktur der Tabellen;
  • .myd – Datei, in welcher die Daten der MyISAM-Tabelle gespeichert sind;
  • .myi – Datei, in welcher die Indexe der MyISAM-Tabellen gespeichert werden;
  • .ibd – Datei, in welcher die Daten und Indexe der InnoDB-Tabellen gespeichert sind.
my_db

my_db2

Wie kann man die Datenbank von MySQL wiederherstellen?

Die Wiederherstellung der Datenbank von MySQL ist ein technisch nicht komplizierter Prozess, aber dieser hängt von vielen Bedingungen ab. Für die Benutzer von MySQL Workbench ist die Funktion von Export und Import/Wiederherstellung der Daten von Datenbanken vorgesehen.

MySQL Workbench

Des Weiteren ist es auch möglich, mit Hilfe von mysqldump (was wir detailliert in einem unseren Artikel beschrieben haben) eine Sicherheitskopie zu erstellen und die Datenbank von MySQL wiederherzustellen.

CMD

Aber diese Funktionen gehören viel mehr zur Erstellung von Sicherheitskopien der Daten von MySQL mit Hilfe der installierten Tools. Für die fortgeschrittenen Benutzer und deren, die die Funktion der Datensicherung von MySQL zu geeigneter Zeit verwendet haben, wird auch das Verfahren der manuellen Erstellung von Kopien und der Wiederherstellung der Datenbanken, mittels der Vertauschung der oben beschriebenen Dateien der Struktur und der Daten der Tabellen interessant:

  • Die Erstellung einer Kopie der Datenbanken der Tabellen von MySQL ist mittels eines Dateienkopierens der Struktur und der Daten (*.opt, *.frm, *.myd, *.myi для MyIsam; *.opt, *.frm, *.ibd для InnoDB) und ihrer Speicherung in einem anderen Ordner möglich.
  • Die Wiederherstellung der Daten der Tabellen von MySQL ist mittels Vertauschung der früher kopierten Dateien der Struktur und der Daten in die Ordner der schon existierenden Datenbanken möglich (in unserem Fall sind das zwei Datenbanken: my_db und my_db2).

Wiederherstellung der verlorenen oder gelöschten Datenbank von MySQL

Falls Sie aus irgend-welchem Grund die Datenbank von MySQL gelöscht, das Windows neuinstalliert oder die Festplatte formatiert haben, dann kann man diese auf die oben beschriebene Weise, mittels Vertauschung der früher kopierten Dateien der Datenbank in den Ordner mit der Bezeichnung der Datenbank wiederherstellen:

C:\ProgramData\MySQL\MySQL Server 5.7\Data

Falls der Benutzer im Voraus keine Dateikopie der Datenbank erstellt hat, dann kann man diese mit Hilfe des Programms Hetman Partition Recovery wiederherstellen, woraufhin müssen diese in den erforderlichen Ordner auf der oben beschriebenen Weise verschoben werden.

Gehen Sie dafür folgendermaßen vor:

  • Starten Sie Hetman Partition Recovery und scannen Sie mit Hilfe dieses Programms die Festplatte, auf der die Datenbank von MySQL gespeichert wurde

    Hetman Partition Recovery
  • Finden Sie und wechseln Sie mit Hilfe des Programms zum Ordner C:\ProgramData\MySQL\MySQL Server 5.7\Data,

    Hetman Partition Recovery

    oder suchen Sie die erforderlichen Dateien der Datenbank mit Hilfe der Suchfunktion:

    Hetman Partition Recovery

    Bitte, beachten Sie Folgendes: die Dateien mit Daten und Formaten der Tabellen werden eine Bezeichnung nicht der Datenbank, sondern der Tabelle haben.

  • Stellen Sie die Dateien der Datenbank wiederher

    Hetman Partition Recovery
  • Verschieben Sie diese Dateien in den Ordner mit der Bezeichnung der Datenbank.

    my_db2
  • Nachdem Sie MySQL Workbench starten, werden die wiederherstellten Dateien der Tabellen, welche in den Ordner der Datenbank verschoben wurden, wieder verfügbar.

    MySQL Workbench

    Auf solche Weise kann man auch die verloren gegangene Dateien des Speicherauszugs (*.sql) oder seinen Archiv (*.zip, *.gzip, *.bzip2) wiederherstellen.

Wiederherstellung der beschädigten Tabellen der Datenbank von MySQL mit Hiulfe von myisamchk

MyISAM-Tabelle der Datenbank von MySQL können infolge einer unerwarteten Unterbrechung des Schreibvorgangs oder Abschaltung des Computers, einer Funktionsstörung der Hardware oder Software sowie im Fall eines Versuchs, die vom Server verwendete Tabelle mit Hilfe von myisamchk auszuprüfen, beschädigt werden.

Infolge einer Beschädigung können die Dateien aus der Tabelle verschwinden oder unkorrekt angezeigt werden, am häufigsten konfrontieren jedoch die Benutzer infolge einer Beschädigung der Tabelle mit folgendem Fehler: «Incorrect key file for table: ‘Bezeichnung der Tabelle’. Try to repair it»

Um die beschädigte MyISAM-Tabellen wiederherzustellen, kann man den Befehl myisamchk zu verwenden.

Myisamchk funktioniert mittels Entstörung und Erstellung einer Kopie der .myd Datei mit dem weiteren Umtausch der beschädigten Datei. Deshalb, bevor Sie diesen Befehl verwenden, erstellen Sie im Voraus eine Reservekopie der Datei der Tabelle, welche wiederherzustellen ist.

So, um die beschädigte Tabelle wiederherzustellen, verwenden sie den Befehl:

myisamchk -r -q BEZEICHNUNG_DER TABELLE

wo, -r -q – der Modus der schnellen Wiederherstellung ist. In diesem Fall wird die Indexdatei ohne Veränderung des Datensatzes korrigiert. Falls die Datei alles Notwendige beinhaltet und die gelöschte Verbindung auf die richtige Position im Datensatz hinweist, dann wird die Tabelle infolge dieses Befehles korrigiert

Falls der vorherige Befehl zu keinem erforderlichen Ergebnis führt, dann erstellen Sie eine Reservekopie des Datensatzes und führen Sie den folgenden Befehl aus:

myisamchk -r BEZEICHNUNG_DER TABELLE

wo, -r – der Modus der Wiederherstellung ist. In diesem Fall werden von dem Datensatz die unkorrekten und verlorenen Einträge gelöscht und die Indexdatei wird aufs Neue erstellt (wie oben beschrieben).

Bitte, beachten Sie Folgendes. Falls Sie die Entstörung und die Wiederherstellung der Tabelle von der Befehlszeile zu erfüllen planen, dann ist es notwendig, den Server im Voraus zu stoppen. Es ist anzumerken, dass bei der Ausführung von mysqladmin shutdown vom Fernserver, wird mysqld noch einige Zeit nach dem Abschluss von mysqladmin funktionieren, bevor alle Anfragen nicht abgebrochen und alle Schlüssel auf der Festplatte abgelegt werden.

Author: Maxim Cherniga

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)