Heim  >  Artikel  >  Datenbank  >  So stellen Sie neu gelöschte Tabellendaten in MySQL wieder her

So stellen Sie neu gelöschte Tabellendaten in MySQL wieder her

下次还敢
下次还敢Original
2024-04-14 19:27:50466Durchsuche

Schnelle Wiederherstellung gerade gelöschter Tabellen: Verwenden Sie die Befehle FLUSH LOGS und ALTER TABLE. Tiefgreifende Wiederherstellung längst gelöschter Tabellen: Bedingungen erfüllen (Binärprotokoll aktiviert, Ereignisprotokollierung), Speicherort des Ereignisprotokolls bestimmen, Protokoll sichern, SQL-Datei bearbeiten, SQL-Datei anwenden. So stellen Sie gerade gelöschte Tabellendaten in MySQL wieder her

Wenn die Tabelle schon seit längerer Zeit gelöscht wurde, können Sie das Binärprotokoll von MySQL verwenden, um die Daten wiederherzustellen. Dies erfordert Folgendes:

So stellen Sie neu gelöschte Tabellendaten in MySQL wieder her

Binäre Protokollierung ist aktiviert.

Ereignisereignisse werden in binären Protokolldateien aufgezeichnet.

Kopiererlaubnis haben (SUPER oder REPLICATION CLIENT).

Schritte

Bestimmen Sie den Speicherort des binären Ereignisprotokolls:

Verwenden Sie den Befehl SHOW BINARY LOGS, um die binäre Protokolldatei und den Speicherort zu finden, die das Ereignis enthält.

  • Speichern Sie das Binärprotokoll:
  • Verwenden Sie das Tool mysqlbinlog, um das Binärprotokoll in eine SQL-Datei zu sichern:
  • <code>mysql> FLUSH LOGS;
    mysql> FLUSH TABLES WITH READ LOCK;
    mysql> ALTER TABLE table_name RENAME TO table_name_backup;</code>
  • Bearbeiten Sie die SQL-Datei:
Öffnen Sie die gespeicherte SQL-Datei und suchen Sie nach DROP TABLE table_name-Anweisung und ersetzen Sie sie durch eine CREATE TABLE table_name-Anweisung.

Wenden Sie die SQL-Datei an:
    Führen Sie die bearbeitete SQL-Datei aus, um die Tabelle neu zu erstellen und die Daten wiederherzustellen:
  1. <code>mysqlbinlog --start-position=start_position --stop-position=stop_position binary_log_file > dump.sql</code>
    SHOW BINARY LOGS 命令找到包含事件的二进制日志文件和位置。
  2. 转储二进制日志:使用 mysqlbinlog 工具将二进制日志转储到 SQL 文件中:

    <code>mysql -u root -p your_db < dump.sql</code>
  3. 编辑 SQL 文件:打开转储的 SQL 文件,查找 DROP TABLE table_name 语句,并将其替换为 CREATE TABLE table_name
  4. Hinweise
  5. Die wiederhergestellten Daten enthalten möglicherweise keine Änderungen, die seit dem Löschen der Tabelle vorgenommen wurden.

  6. Binärprotokolle können nur darin aufgezeichnete Ereignisse wiederherstellen. Wenn das Binärprotokoll unvollständig ist, ist die Wiederherstellung möglicherweise unvollständig.

Bevor Sie Wiederherstellungsvorgänge durchführen, stellen Sie bitte sicher, dass Sie Ihre Datenbank gesichert haben.

Das obige ist der detaillierte Inhalt vonSo stellen Sie neu gelöschte Tabellendaten in MySQL wieder her. 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