Überwachen Sie Änderungen im MySQL-Tabelleninhalt und aktivieren Sie das MySQL-Binärprotokoll

Überwachen Sie Änderungen im MySQL-Tabelleninhalt und aktivieren Sie das MySQL-Binärprotokoll

Vorwort

binlog ist eine binäre Protokolldatei, die alle Hinzufügungs-, Lösch- und Änderungsanweisungen von MySQL aufzeichnet. Durch Binlog-Protokolle können wir Datenwiederherstellung, Master-Slave-Replikation usw. durchführen. Wie Sie sehen, verfügen wir, solange wir dieses Binärprotokoll haben, über eine vollständige Sicherung von MySQL.

Wir stoßen häufig auf eine solche Anforderung, d. h. wir müssen die Änderungen in einer bestimmten Tabelle überwachen und dann einige Vorgänge ausführen.

Wenn die Daten in der Tabelle nur hinzugefügt und nicht gelöscht oder geändert werden, ist die Überwachung relativ einfach. Sie können die neueste ID regelmäßig abfragen. Wenn jedoch Lösch- oder Änderungsvorgänge erforderlich sind, muss die gesamte Tabelle gescannt werden, was äußerst ineffizient ist. Optimal wäre es, wenn bei einer Änderung der Tabelle ein Event zur Überwachung ausgelöst werden kann.

Jetzt können wir es über Binlog abschließen. Überwachen Sie einfach die Änderungen im Binärprotokoll, sodass jede Ausführung einer Anweisung im Binärprotokoll aufgezeichnet wird und wir sie überwachen können.

Binlog ist standardmäßig deaktiviert. Um es zu aktivieren, müssen wir die MySQL-Konfigurationsdatei ändern.

Das Standardinstallationsverzeichnis von MySQL, das von Brew auf dem Mac installiert wird, ist /usr/local/Cellar und die Version ist 5.7.21.


Wie Sie sehen, befindet sich keine Konfigurationsdatei im Verzeichnis. Dies kann bei einigen anderen Versionen anders sein. Andere Versionen haben möglicherweise eine my.ini- oder my.cnf-Datei im Stammverzeichnis oder eine my-default.cnf-Datei in den Support-Dateien, aber diese Version hat das nicht.

Um die Konfigurationsdatei zu ändern, müssen wir sie selbst erstellen.

Erstellen Sie im Verzeichnis /etc/ eine my.cnf-Datei mit folgendem Inhalt:

[mysqld]
Server-ID = 1
log-bin = mysql-bin
Binlog-Format = ROW

mysql-bin ist nur ein Name. Sie können jeden beliebigen Namen verwenden. Die zukünftig gespeicherten Protokolldateinamen lauten mysql-bin.000001 und mysql-bin.000002.

Beachten Sie, dass binlog_format auf ROW eingestellt sein muss, da Binlog im STATEMENT- oder MIXED-Modus nur SQL-Anweisungen ohne spezifische Daten aufzeichnet und überträgt (um die Protokollgröße zu reduzieren), sodass wir diese nicht speichern können.

Starten Sie dann MySQL über „Brew Restart MySQL“ neu. Rufen Sie dann die MySQL-Konsole über den Befehl mysql -uroot -p auf und führen Sie aus

Variablen wie „%log_bin%“ anzeigen; 

Der Pfeil oben zeigt an, wenn my.cnf nicht festgelegt ist, und der Pfeil unten zeigt an, nachdem my.cnf festgelegt und neu gestartet wurde.

Mit dem Befehl show master status können Sie den Status des aktuell geschriebenen Binärprotokolls anzeigen.


Es gibt auch Befehle wie:

Binlog-Protokolldatei aktualisieren, Protokolle leeren. #Nach der Aktualisierung wird ein neues Binlog-Protokoll erstellt.

Löschen Sie die Protokolldatei und setzen Sie den Master zurück.

Zeigen Sie den Inhalt der ersten Binlog-Datei an show binlog events .

Zeigen Sie den Inhalt der angegebenen Binlog-Datei an show binlog events in 'mysql-bin.000004' .

Holen Sie sich die Liste der Binlog-Dateien show binary logs .

Binlog allein reicht nicht aus, wir benötigen außerdem ein Tool zur Überwachung von Binlog. Nächster Artikel: Kanal

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • So wählen Sie das Format bei der Verwendung von Binlog in MySQL
  • Beispielüberprüfung MySQL | Update-Feld mit demselben Wert zeichnet Binlog auf
  • Detaillierte Erläuterung des Binlog-Protokollanalysetools zur Überwachung von MySQL: Canal
  • Ausführliche Erklärung des Binlogs in MySQL 8.0
  • Zusammenfassung einiger Gedanken zur Binlog-Optimierung in MySQL
  • Detailliertes Installations- und Konfigurationstutorial zum MySQL-Flashback-Tool binlog2sql
  • MySQL verwendet mysqldump + binlog, um die Prinzipanalyse der gelöschten Datenbank vollständig wiederherzustellen
  • MySQL Binlog-Datenwiederherstellung: Detaillierte Erklärung zum versehentlichen Löschen einer Datenbank
  • Spezifische Verwendung des MySQL-Parameters binlog_ignore_db

<<:  So löschen Sie den Timer elegant in Vue

>>:  Löschen von Dateien mit Leerzeichen in Linux (keine Verzeichnisse)

Artikel empfehlen

MySQL-Abfrageoptimierung: Ursachen und Lösungen für langsame Abfragen

Freunde, die in der Entwicklung tätig sind, insbe...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.11 Zip

1. Laden Sie das MySQL 5.7.11 Zip-Installationspa...

So verwenden Sie reguläre Ausdrucksabfragen in MySql

Reguläre Ausdrücke werden häufig verwendet, um Te...

Implementierung eines einfachen Timers in JavaScript

In diesem Artikelbeispiel wird der spezifische Ja...

Standardmäßige Stilanordnung für HTML-Tags

html, address,blockquote,body, dd, div,dl, dt, fie...

Einführung in general_log-Protokollwissenspunkte in MySQL

Die folgenden Funktionsdemonstrationen basieren a...

Lösung für „Ubuntu kann keine Verbindung zum Netzwerk herstellen“

Effektive Lösung für Ubuntu, wenn in einer virtue...

So verwenden Sie Docker zum Erstellen eines Redis-Master-Slaves

1. Erstellen Sie eine Docker-Umgebung 1. Erstelle...

Detaillierte Erläuterung des CocosCreator-Projektstrukturmechanismus

Inhaltsverzeichnis 1. Projektordnerstruktur 1. As...