Frage

Ich muss eine Datenbank wiederherstellen, die in MySQL 5.0 versehentlich gelöscht wurde.Bei der Überprüfung der Sicherungsdateien scheine ich nur .FRM-Dateien zum Speichern der Datenbankdaten zu haben.

Kann mir jemand raten, ob das alles ist, was ich brauche, um eine Datenbankwiederherstellung/einen Datenbankimport aus der Sicherung durchzuführen, oder ob es andere Dateien gibt, die ich zur Vervollständigung dieses Vorgangs bereithalten muss?

War es hilfreich?

Lösung

FRM-Dateien sind nicht die Datendateien, speichern sie nur die "Data Dictionary-Informationen" (siehe MySQL-Handbuch ). InnoDB speichert seine Daten in ib_logfile * Dateien. Das ist, was Sie brauchen, um eine Sicherungskopie zu machen / wiederherzustellen. Weitere Einzelheiten finden Sie unter hier .

Andere Tipps

Innodb wiederherstellen:(vorausgesetzt, Ihr Datenordner ist C:\ProgramData\MySQL\MySQL Server 5.5\data)

  1. Kopieren Sie die Ordner der Datenbanken (benannt nach dem Datenbanknamen), die Sie wiederherstellen möchten, nach C:\ProgramData\MySQL\MySQL Server 5.5\data
  2. Kopieren Sie die 3 ibdata-Dateien in den Datenordner ex.(C:\ProgramData\MySQL\MySQL Server 5.5\data)

    _ib_logfile0
    _ib_logfile1
    _ibdata1
    
  3. Ermitteln Sie die Größe von _ib_logfile0 in MB (sie sollte mit _ib_logfile1 identisch sein), indem Sie mit der rechten Maustaste auf Datei -> Eigenschaften klicken

  4. Bearbeiten Sie die MySQL-Konfigurationsdatei (mysql\bin\my.ini) so, dass innodb_log_file_size=343M genau der Größe der ibdata-Dateien entspricht

  5. Laufen

    MySQLD--Defaults-file = mysql bin my.ini-Standalone--Console-Innodb_force_Recovery = 6

  6. Jetzt sollten Ihre Daten wieder in Ihrer Datenbank sein.Exportieren Sie sie mit phpmysql oder einem anderen Tool

Oh mein ... du bist in Schwierigkeiten. Shutdown der Datenbank. Sichern Sie die InnoDB-Datei. Beten Sie, dass Sie nichts tun, nachdem Sie die Datenbank gelöscht.

Die Jungs von Percona (einschließlich Autoren von MySQL Performance-Blog) sollte in der Lage sein, Ihnen zu helfen: Data Recovery Toolkit für InnoDB .

Die Logistik der es? Sie haben jede Seite (Computer Begriff Seite ... 16k Block im Fall von InnoDB) in und erstellen Sie Ihre Daten auf diese Weise zu lesen. Es ist sehr Low-Level-Arbeit (wir sprechen Ihre Hex-Editor öffnen und starten Bytes zu zählen, wenn das Toolkit nicht es für Sie tut), und wenn Sie nicht ein stark erfahrener Programmierer sind, Sie gehen zu verletzen .

Die detaillierte Lösung können Sie finden Sie hier:

http://www.unilogica.com/mysql-innodb-recovery/ (Artikel in portugiesischer Sprache)

Neben der Flagge von innodb_force_recovery , fand ich eine andere Lösung. innodb_file_per_table , die InnoDB spalten Tabellen in jeder Datei wie MyISAM-Tabellen

Bei einem Crash Recovery können Sie verlieren weniger Daten als in einzelner Datei ibdata1 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top