Heim > Datenbank > MySQL-Tutorial > MySQL-Wiederherstellung versehentlich gelöschter Daten

MySQL-Wiederherstellung versehentlich gelöschter Daten

WBOY
Freigeben: 2023-05-20 12:14:38
Original
7186 Leute haben es durchsucht

Daten sind eines der wichtigsten Güter in der modernen Gesellschaft. Viele Unternehmen und Privatpersonen verlassen sich auf Datenbanken, um ihre wertvollen Daten zu speichern und zu verwalten. Unabhängig davon, wie vorsichtig Sie sind, kann es dennoch passieren, dass Daten versehentlich gelöscht werden. Wenn Sie eine MySQL-Datenbank verwenden, sind Sie möglicherweise verwirrt und besorgt darüber, ob versehentlich gelöschte Daten wiederhergestellt werden können. Wenn Sie jedoch die richtigen Wiederherstellungsmethoden kennen, können Sie Ihre MySQL-Daten so schnell wie möglich wiederherstellen.

In diesem Artikel werden einige gängige MySQL-Datenwiederherstellungstechniken vorgestellt, die Ihnen bei der Wiederherstellung gelöschter Daten in unerwarteten Situationen helfen sollen.

  1. Verstehen Sie die Grundlagen der MySQL-Datenwiederherstellung

Bevor Sie MySQL zur Datenwiederherstellung verwenden, müssen Sie einige grundlegende Begriffe und Konzepte verstehen.

In MySQL ist jeder Tabelle eine Datei zugeordnet. Diese Datei enthält die Daten und Metadaten der Tabelle. Wenn Sie den Befehl DELETE oder DROP ausführen, löscht MySQL die zugehörigen Dateien. Allerdings werden nicht alle Daten sofort dauerhaft gelöscht. MySQL markiert gelöschte Daten als freien Speicherplatz, sodass sie in Zukunft überschrieben werden können. Die Daten können noch wiederhergestellt werden, bis sie überschrieben werden.

Außerdem sollten Sie Folgendes beachten: Starten Sie MySQL nicht neu, wenn Ihre MySQL-Datenbank ausgeführt wird. Durch einen Neustart der MySQL-Instanz öffnet MySQL alle Tabellendateien für neue Daten. In diesem Fall verlieren Sie die Chance, die gelöschten Daten wiederherzustellen.

  1. Verwenden Sie die Rollback-Funktion von MySQL

MySQL bietet eine Rollback-Funktion, mit der übermittelte INSERT-, UPDATE- und DELETE-Anweisungen rückgängig gemacht werden können. Rollback ist eine der sichersten und einfachsten Wiederherstellungsmethoden. Wenn Sie sich gerade in einer Debugging- und Testumgebung befinden oder kürzlich gelöschte Daten wiederherstellen müssen, können Sie es mit der Rollback-Funktion versuchen.

Bitte beachten Sie, dass Rollback nur für Transaktionstabellen funktioniert, d. h. Tabellen, deren Speicher-Engine InnoDB ist.

Um die MySQL-Rollback-Funktion zu verwenden, befolgen Sie diese Schritte:

  • Legen Sie die Tabelle als transaktional fest.

Um die Rollback-Funktion zu verwenden, müssen Sie zunächst die Tabelle als transaktional festlegen. Um eine Transaktionstabelle einzurichten, verwenden Sie den folgenden Befehl:

ALTER TABLE table_name ENGINE = InnoDB;
Nach dem Login kopieren
  • Starten Sie eine Transaktion

Bevor Sie eine INSERT-, UPDATE- oder DELETE-Anweisung ausführen, müssen Sie eine Transaktion starten. Um eine Transaktion zu starten, verwenden Sie den folgenden Befehl:

START TRANSACTION;
Nach dem Login kopieren
  • Führen Sie eine Änderungsanweisung aus

Führen Sie eine INSERT-, UPDATE- oder DELETE-Anweisung aus. Wenn Sie alle Änderungen rückgängig machen möchten, führen Sie den folgenden Befehl aus:

ROLLBACK;
Nach dem Login kopieren
  • Übernehmen Sie die Änderungen.

Wenn Sie alle Änderungen abgeschlossen haben und die Änderungen in der Datenbank speichern möchten, führen Sie den folgenden Befehl aus:

COMMIT;
Nach dem Login kopieren
  1. Mit MySQL Binlog wird eine Datenwiederherstellung erreicht.

Wenn Sie die Rollback-Funktion nicht verwenden können, können Sie versuchen, MySQLs Binlog zu verwenden, um eine Datenwiederherstellung zu erreichen. binlog ist das Binärprotokoll, das von MySQL zum Aufzeichnen von Datenbankänderungsvorgängen verwendet wird.

Beim Ausführen einer INSERT-, UPDATE- oder DELETE-Anweisung protokolliert MySQL die Änderungen im Binlog. Diese Änderungsprotokolle werden in chronologischer Reihenfolge aufgezeichnet und in binärer Form gespeichert. Um Binlog zur Datenwiederherstellung zu verwenden, müssen Sie den Tabellennamen der gelöschten Daten, die Löschzeit sowie den Namen und Speicherort der Binlog-Datei kennen.

Um Binlog zur Datenwiederherstellung zu verwenden, führen Sie bitte die folgenden Schritte aus:

  • Suchen Sie die Binlog-Datei.

Um die Binlog-Datei zum Zeitpunkt des Löschens zu finden, verwenden Sie den folgenden Befehl:

SHOW BINARY LOGS;
Nach dem Login kopieren

Dieser Befehl zeigt die an Namen und Namen aller Binlog-Dateien. Speicherort. Unter diesen Dateien müssen Sie die Binlog-Datei finden, die die versehentlich gelöschte Anweisung enthält.

  • Daten wiederherstellen

Um Daten mithilfe von Binlog-Dateien wiederherzustellen, verwenden Sie den folgenden Befehl:

mysqlbinlog [binlog_file_name] | mysql -u [user_name] -p [database_name]
Nach dem Login kopieren

Dieser Befehl generiert SQL-Anweisungen für alle Änderungen in der Binlog-Datei und wendet diese Anweisungen dann auf die angegebene Datenbank an. Sie können vor der Ausführung dieses Befehls eine neue Datenbank erstellen, um das Überschreiben vorhandener Daten zu vermeiden.

  1. Verwenden Sie die Datenwiederherstellungstools von MySQL

Wenn Sie keine Datenwiederherstellung mithilfe von Rollback oder Binlog erreichen können, bietet MySQL auch andere Datenwiederherstellungstools. Diese Tools können den freien Speicherplatz nach gelöschten Daten durchsuchen und versuchen, diese in neuen Dateien oder Datenbanken wiederherzustellen.

  • Verwenden Sie das MyISAMchk-Tool für MySQL.

Wenn Sie die MyISAM-Engine verwenden, können Sie das MyISAMchk-Tool verwenden, um beschädigte Tabellen zu überprüfen und zu reparieren. MyISAMchk kann gelöschte Datenblöcke finden und in neuen Dateien wiederherstellen. Um MyISAMchk zu verwenden, befolgen Sie diese Schritte:

  1. Stoppen Sie den MySQL-Dienst.
  2. Kopieren Sie die Tabellendateien in das temporäre Verzeichnis.
cp [table_file_name] [path/to/new_table_file]
Nach dem Login kopieren
  1. Verwenden Sie MyISAMchk, um die Tabellendateien zu scannen
  2. myisamchk --recover [path/to/new_table_file]
    Nach dem Login kopieren
      Starten Sie den MySQL-Dienst neu.
      Verwenden Sie Datenwiederherstellungstools von Drittanbietern. Typische Beispiele sind TestDisk und PhotoRec. Diese Tools können die Festplatte nach gelöschten Daten und Dateien durchsuchen und versuchen, diese in neuen Dateien oder Datenbanken wiederherzustellen.
    1. Es ist zu beachten, dass die Verwendung von Tools von Drittanbietern zur Datenwiederherstellung zu Datenverlust oder Systemabsturz führen kann. Es empfiehlt sich, alle Ihre Daten zu sichern, bevor Sie diese Tools verwenden.
      Zusammenfassung
    • Die MySQL-Datenwiederherstellungstechnologie ist ein komplexer Prozess, der besondere Aufmerksamkeit und Vorsicht erfordert. Unabhängig davon, welche Methode Sie verwenden, stellen Sie sicher, dass Sie alle Ihre Daten sichern, bevor Sie Befehle ausführen. Rollback ist die sicherste Datenwiederherstellungsmethode, gilt jedoch nur für Transaktionstabellen. Wenn Sie kein Rollback verwenden können, können Sie versuchen, MySQLs Binlog für eine erweiterte Datenwiederherstellung zu verwenden. Wenn keine dieser Methoden funktioniert, können Sie die Verwendung des Datenwiederherstellungstools von MySQL oder eines Datenwiederherstellungstools eines Drittanbieters in Betracht ziehen.

    Das obige ist der detaillierte Inhalt vonMySQL-Wiederherstellung versehentlich gelöschter Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage