Lösung für zu große Mysql-Binlog-Protokolldateien

Lösung für zu große Mysql-Binlog-Protokolldateien

Die Festplattennutzung ist zu hoch. Nach der Überprüfung der Ursache wird festgestellt, dass die MySQL-Binlog-Datei zu groß ist.

Befehl

ls -l -h 

Bildbeschreibung hier einfügen

mysql-binlog ist das Binärprotokoll der MySQL-Datenbank, das zum Aufzeichnen der SQL-Anweisungen (außer Datenabfrageanweisungen) der Benutzeroperationen in der Datenbank verwendet wird. Mit dem Befehl mysqlbin können Sie den Inhalt des Binärprotokolls anzeigen.

Sie können die Ausgabe von Binlog-Dateien beschränken, indem Sie die Konfigurationsdatei my.cof festlegen.

1. Verwandte Binlog-Konfiguration

vim /etc/meine.cof

[mysqld]
Ablaufdatum der Protokolltage = 3
#Stellen Sie die Binlog-Bereinigungszeit ein: max_binlog_size = 100 m
#binlog Jede Protokolldateigröße binlog_cache_size = 4m
#binlog-Cache-Größe max_binlog_cache_size = 512 m
#Maximale Binlog-Cachegröße

Starten Sie MySQL neu und sehen Sie, dass nur die Protokolle der letzten drei Tage erhalten bleiben

Bildbeschreibung hier einfügen

2. Erweiterte Einstellungen für Binlog

2.1 Binlog-Modus ändern

Es gibt auch drei Binlog-Modi: STATEMENT, ROW und MIXED. Nachfolgend finden Sie Beschreibungen dieser drei Formate:

STATMENT-Modus

Bei der SQL-Anweisungsbasierten Replikation (SBR) wird jede SQL-Anweisung, die Daten ändert, im Binärprotokoll aufgezeichnet.

Vorteile: Es ist nicht erforderlich, jede SQL-Anweisung und jede Datenzeilenänderung aufzuzeichnen. Daher ist das Binlog-Protokoll relativ klein, was die Festplatten-E/A reduziert und die Leistung verbessert.

Nachteile: In einigen Fällen kann es zu inkonsistenten Daten im Master-Slave führen (z. B. Probleme mit der Funktion sleep(), last_insert_id() und benutzerdefinierten Funktionen (udf)).

ROW-Modus

Die Kontextinformationen jeder SQL-Anweisung werden nicht aufgezeichnet. Es muss nur aufgezeichnet werden, welche Daten geändert wurden und wie sie geändert wurden.

Vorteile: Es tritt nicht das Problem auf, dass der Aufruf und die Auslösung von gespeicherten Prozeduren, Funktionen oder Triggern in bestimmten Situationen nicht korrekt repliziert werden können.

Nachteile: Insbesondere bei Änderungen an der Tabelle werden sehr viele Protokolle generiert, die das Protokoll zum Explodieren bringen.

MIXED-Modus

Gemischtbasierte Replikation (MBR): Eine Kombination der beiden oben genannten Modi. Für die allgemeine Replikation wird der STATEMENT-Modus zum Speichern von Binärprotokollen verwendet. Für Vorgänge, die im STATEMENT-Modus nicht repliziert werden können, wird der ROW-Modus zum Speichern von Binärprotokollen verwendet. MySQL wählt die Protokollspeichermethode basierend auf der ausgeführten SQL-Anweisung aus.
Ändern der Konfigurationsdatei

[mysqld]
binlog_format = gemischt
#Protokollformat festlegen

2.2 Verwandte SQL-Operationen Binlog

Binärprotokolle anzeigen;                            
# Zeigen Sie die vorhandenen Details des Binlogs an, zeigen Sie Variablen wie „%log%“ an.            
# Zeigen Sie die relevante Konfiguration der Protokollvariablen an. Setzen Sie global expire_logs_days = 3;    
# Stellen Sie den Binlog-Speicherzeitpunkt ein, setzen Sie den Master zurück;                                 
# Alle Binärprotokolle zurücksetzen, was dem Löschen aller Binärprotokolle entspricht. Dieser Vorgang hat große Auswirkungen auf den Master-Slave-Cluster, da die Master-Slave-Zuweisung auf Binärprotokollen basiert. PURGE {MASTER | BINARY} LOGS TO 'log_name'
LÖSCHEN SIE {MASTER | BINARY}-PROTOKOLLE VOR „Datum“
# Löschen Sie alle Binärprotokolle im Protokollindex vor dem angegebenen Protokoll oder Datum. MASTER und BINARY sind Synonyme. PURGE MASTER LOGS TO ‚binlog.000013‘. 
#Purge binlog.000013 log PURGE MASTER LOGS VOR '2020-01-08 10:00:00';  
#Binlog-Protokolle vor 2020-01-08 10:00:00 löschen. MASTER-PROTOKOLLE VOR DATE_SUB (NOW( ), INTERVAL 3 DAY) löschen. 
# Löschen Sie das Binlog-Protokoll VOR 3 Tagen. Das Datumsargument der Variable kann das Format „JJJJ-MM-TT hh:mm:ss“ haben.

Dies ist das Ende dieses Artikels zur Lösung des Problems, dass die Mysql-Binlog-Protokolldatei zu groß ist. Weitere Informationen zum Problem, dass die Mysql-Binlog-Protokolldatei zu groß ist, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Zwei Möglichkeiten zum korrekten Bereinigen von MySQL-Binlog-Protokollen
  • Detaillierte Erläuterung des Befehls zum Bereinigen des MySQL-Datenbank-Binlogs
  • So bereinigen Sie MySQL-Binlog-Protokolle automatisch
  • Detaillierte Erläuterung des MySQL-Binlog-Binärprotokolls
  • So zeigen Sie das MySQL-Binlog (Binärprotokoll) an
  • MySQL verwendet Binlog-Protokolle zur Implementierung der Datenwiederherstellung
  • So öffnen Sie das MySQL-Binlog-Protokoll
  • Detaillierte Erklärung der MySQL-Binlog-Verwendung

<<:  Detaillierte Erläuterung der Konvertierung von JavaScript-Objekten in primitive Werte

>>:  Detaillierte Erklärung der HTML-Style-Tags und der zugehörigen CSS-Referenzen

Artikel empfehlen

So stellen Sie Gitlab schnell mit Docker bereit

1. Laden Sie das Gitlab-Image herunter Docker-Pul...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.16 winx64

Ich habe erst vor Kurzem angefangen, mich mit Dat...

Einige Erfahrungen zum Aktivieren von HTTPS

Da sich die heimische Netzwerkumgebung immer weit...

So ändern Sie den Replikationsfilter in MySQL dynamisch

MySQL Replikationsfilter dynamisch ändern Lassen ...

So handhaben Sie gleichzeitige Aktualisierungen von MySQL-Daten

Wird UPDATE gesperrt? Wird die SQL-Anweisung gesp...

So generieren Sie eine Vue-Benutzeroberfläche per Drag & Drop

Inhaltsverzeichnis Vorwort 1. Technisches Prinzip...

Detaillierte Erläuterung der Konzepte und Verwendung von Docker Swarm

Docker Swarm ist ein von Docker entwickelter Cont...

Interpretation der Vue-Komponentenregistrierungsmethode

Inhaltsverzeichnis Überblick 1. Globale Registrie...

So installieren und konfigurieren Sie WSL unter Windows

Was ist WSL Zitat aus der Baidu-Enzyklopädie: Das...

Schritte zum Erstellen eines Docker-Images mit Dockerfile

Dockerfile ist eine Textdatei, die Anweisungen en...