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

JavaScript-HTML zur Implementierung der mobilen Red Envelope Rain-Funktionsseite

In diesem Artikelbeispiel wird der spezifische HT...

Beispiel zum Festlegen der pseudostatischen WordPress-Eigenschaft in Nginx

Zitat aus Baidus Erklärung zu Pseudostatik: Pseud...

Detaillierte Erläuterung des Prozessmanagements im Linux-System

Inhaltsverzeichnis 1. Das Konzept von Prozess und...

Detailliertes Beispiel für die Verwendung von MySQL-Triggern

Details zur MySQL-Triggersyntax: Ein Trigger ist ...

Beispiel-Tutorial zur Verwendung der Summenfunktion in MySQL

Einführung Heute werde ich die Verwendung der Sum...

JavaScript-Timer zum nahtlosen Scrollen von Bildern

In diesem Artikel wird der spezifische JavaScript...

So beheben Sie den Verbindungsfehler zur Datenbank beim Start von ServerManager

Servermanager-Startfehler bei Verbindung zur Date...

Eclipse konfiguriert Tomcat und Tomcat hat eine ungültige Port-Lösung

Inhaltsverzeichnis 1. Eclipse konfiguriert Tomcat...

UCenter-Homepage fügt Statistikcode hinzu

UCenter Home ist ein von Comsenz veröffentlichtes ...

Analysieren des MySQL-Binärprotokolls

Inhaltsverzeichnis 1. Einführung in Binlog 2. Bin...