Website-Administratoren löschen Website-Daten aus verschiedenen Gründen und aufgrund verschiedener Vorgänge häufig versehentlich und erstellen keine Sicherungskopien der Website. Dies führt zu Verlusten und kann sich sogar negativ auf den Betrieb und Gewinn der Website auswirken. In diesem Artikel zeigen wir Ihnen, wie Sie Daten über das Binärprotokoll (binlog) von MySQL wiederherstellen. Systemumgebung: Betriebssystem: CentOS 6.5 X64 (virtuelle Maschine); WEB-Dienst: PHP+Mysql+Apache; Website: Erstellen Sie der Einfachheit halber direkt lokal eine DEMO-Site mit dem Chanzhi-System. Schritte: 1. Aktivieren Sie die Binlog-Funktion und grundlegende Vorgänge. 2. Fügen Sie der Site Daten hinzu; 3. Binlog-Protokoll aktualisieren; 4. Daten löschen; 5. Analyse des Binlog-Protokollinhalts; 6. Stellen Sie die angegebenen Daten wieder her. 1. Aktivieren Sie die Binlog-Funktion und grundlegende Vorgänge Um die Binlog-Protokollierungsfunktion von MySQL verwenden zu können, müssen Sie diese Funktion zunächst in der MySQL-Konfigurationsdatei aktivieren. Die Bedienung ist sehr einfach. Suchen Sie die MySQL-Konfigurationsdatei und fügen Sie der Datei eine Zeile „log_bin = mysql-bin“ hinzu. Tatsächlich ist diese Funktion in den verschiedenen von mir installierten MySQL-Umgebungen normalerweise standardmäßig aktiviert. Nach dem Einschalten der Binlog-Funktion befinden sich im MySQL-Datenbankverzeichnis Dateien wie mysql-bin.000001, mysql-bin.000002 usw. Dies sind die binären Protokolldateien von MySQL. Bei jedem Start von MySQL oder bei jeder manuellen Aktualisierung des Protokolls wird eine neue Binärprotokolldatei erstellt. Zuerst verwenden wir den Befehl „show master logs“ in der MySQL-Befehlszeile, um die vorhandenen Binlog-Dateien anzuzeigen. 2. Daten zur Site hinzufügen Im Artikelmodul im Website-Backend habe ich einige Testdaten hinzugefügt. 3. Aktualisieren Sie das Binlog-Protokoll Zuvor lautete die MySQL-Binlog-Datei mysql-bin.000001 und im Hintergrund der Website wurden der Datenbank drei Artikel hinzugefügt. Jetzt aktualisieren wir das Binlog-Protokoll und eine neue Datei mysql-bin.000002 wird wie folgt generiert: Protokolle spülen; Master-Protokolle anzeigen; 4. Löschung von Daten Hier lösche ich die drei Artikel, die ich gerade hinzugefügt habe. 5. Analyse des Binlog-Protokollinhalts Die binäre Protokolldatei von MySQL zeichnet MySQL-Operationen auf, wie beispielsweise die Löschoperation gerade eben. Werfen wir einen Blick auf den spezifischen Inhalt der Protokolldatei. Verwenden Sie den mysqlbinlog-Befehl von MySQL: mysqlbinlog /data/mysql/mysql-bin.000002 Hinweis: Da mein lokales mysqlbinlog den Standardzeichensatz „utf8“ in der Binlog-Konfiguration nicht erkennen kann, habe ich dem Befehl hier „--no-defaults“ hinzugefügt, damit es funktioniert. Bitte betrachten Sie dies als Lehre. Nachfolgend sehen Sie einen Teil-Screenshot des Protokollinhalts: 6. Stellen Sie die angegebenen Daten wieder her. Beim Wiederherstellen von Daten über das Binlog-Protokoll von MySQL können wir die Wiederherstellung auf einen bestimmten Zeitpunkt festlegen, was ein bisschen der Verwaltung von Server-Snapshots ähnelt. Wenn wir jetzt den gerade gelöschten Artikel wiederherstellen möchten, können wir einen Zeitpunkt vor der Löschung suchen und ihn auf diesen Zeitpunkt wiederherstellen. Informationen zur Verwendung des Befehls mysqlbinlog können Sie über den Hilfebefehl mysqlbinlog wie folgt einsehen: mysqlbinlog –no-defaults –help Wie in der Hilfedokumentation beschrieben, können Sie Daten durch Angabe einer Zeit oder eines Ortes wiederherstellen. Hier werde ich die Angabe einer Zeit als Beispiel zur Veranschaulichung verwenden. Lassen Sie uns die Protokolldatei mysql-bin.000001 wie folgt überprüfen: mysqlbinlog -no--defaults /data/mysql/mysql-bin.000001 Aus den vorherigen Schritten wissen wir, dass wir vor dem Löschen der Daten die Protokolldatei mysql-bin.000002 generiert haben. Wir müssen also nur bis zu diesem Zeitpunkt wiederherstellen. Diesen Zeitpunkt habe ich in der obigen Abbildung gefunden. Der Befehl lautet wie folgt: Kopieren Sie den Code wie folgt: mysqlbinlog –no-defaults –stop-datetime='2017-04-11 09:48:48' /data/mysql/mysql-bin.000001 |mysql –uroot –p123456 Zu diesem Zeitpunkt haben wir uns den Hintergrund angesehen und festgestellt, dass die drei gerade gelöschten Artikel wiederhergestellt wurden, wodurch wir unser gewünschtes Ziel erreicht hatten. Zusammenfassen: In diesem Artikel erfahren Sie, wie Sie Daten über binäre MySQL-Protokolldateien wiederherstellen. Aber ich möchte trotzdem alle daran erinnern, in normalen Zeiten eine gute Datensicherung für die Website durchzuführen. Einige gängige CMS-Website-Erstellungssysteme verfügen mittlerweile über integrierte Datenbank-Backup-Funktionen, wie beispielsweise das Chanzhi-System, das ich hier verwende. Daten sind das Lebensblut der Website. Führen Sie eine gute Datensicherung durch, um später unnötige Probleme oder Verluste zu vermeiden. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Implementierung einer nicht geheimen SSH-Kommunikation in Linux
>>: Detaillierte Erklärung inkompatibler Änderungen von Komponenten in vue3
Ziel dieses Artikels ist es, die Beziehung zwisch...
Installationsmethode für komprimierte MySQL 8.0-P...
Code kopieren Der Code lautet wie folgt: <!DOC...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Vorwort 1.1 Funktion 1.2 So st...
CSS-Schreibreihenfolge 1. Positionsattribute (Pos...
Wenn Sie Bash beenden möchten, haben Sie zwei Mög...
Vorwort MRR ist die Abkürzung für Multi-Range Rea...
In diesem Artikel wird der spezifische Code von J...
MySql herunterladen 1. Öffnen Sie die offizielle ...
Die Titelbilder in den Spalten von Zhihu Discover...
Das CSS-Zählerattribut wird von fast allen Browse...
Die Tabellenüberschrift kann über oder unter der ...
Das Gitterlayout weist einige Ähnlichkeiten mit d...
Inhaltsverzeichnis Überblick Globale Hook-Funktio...