Wiederherstellen von Daten aus dem Binärprotokoll


11

Wie kann ich meine Dateien und Fotos aus Binärdateien wiederherstellen?

Antworten:


7

Wissen Sie, aus welchen Binlog-Dateien Sie wiederherstellen müssen und wie viele Binlog-Dateien es gibt?

Mit dem mysqlbinlogDienstprogramm können wir den Inhalt der Binlog-Datei anzeigen.

Wenn es sich um eine einzelne Datei handelt, können Sie Folgendes wiederherstellen:

mysqlbinlog /var/lib/mysql-bin.000016 | mysql uroot pReset123

Wenn es sich um mehrere Dateien handelt, extrahieren Sie einfach den gesamten Inhalt in eine SQL-Datei und stellen Sie sie direkt wieder her:

mysqlbinlog /var/lib/mysql-bin.000016 > /logs/allbinlog.sql

Verwenden Sie den folgenden Befehl, um den zweiten Binlog-Inhalt an die Datei allbinlof.sql anzuhängen:

mysqlbinlog /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql

Sie können bestimmte Anweisungen auch mit der Option mysqlbinlog ausschließen. Versuchen Sie dies unten für Optionen:

mysqlbinlog --help

4

Führen Sie die folgenden Schritte aus, um Daten aus Binärprotokollen wiederherzustellen, oder verwenden Sie diesen Link, um den Wiederherstellungsprozess zu verstehen: MySQL Binary Log Restoration

Stellen Sie zunächst die Datenbank aus der letzten Sicherung wieder her

mysql -u username -ppassword database_name < dump.sql

Dann machen Sie eine der folgenden Aktionen:

  • Restliche Daten aus dem Binärprotokoll wiederherstellen.

    Wenn Sie mehr als ein Binärprotokoll auf dem MySQL-Server ausführen müssen, besteht die sichere Methode darin, alle über eine einzige Verbindung zum Server zu verarbeiten.

    mysqlbinlog mysql_bin.000001 | mysql -u root -ppassword database_name
    mysqlbinlog mysql_bin.000002 | mysql -u root -ppassword database_name

    oder:

    mysqlbinlog mysql_bin.000001 mysql_bin.000002 | mysql -u root -ppassword database_name
  • Stellen Sie die Daten nach Zeit wieder her

    mysqlbinlog --start-datetime="2005-04-20 10:01:00" \
                --stop-datetime="2005-04-20 9:59:59" mysql_bin.000001 \
                | mysql -u root -ppassword database_name
  • Stellen Sie die Daten anhand der Position wieder her

    mysqlbinlog --start-position=368315 \
                --stop-position=368312 mysql_bin.000001 \
                | mysql -u root -ppassword database_name

2
Das erste Beispiel für die Wiederherstellung von mehr als einem Binärprotokoll ist speziell unsicher, wie in der Dokumentation angegeben.
Reuben

2

Mit der Option -v können Sie eine SQL-Datei im READABLE- Format erstellen .

Beispielsweise

mysqlbinlog -v /var/lib/mysql-bin.000016 > /logs/allbinlog.sql

mysqlbinlog -v /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.