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 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-Konfigurationvim /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 2. Erweiterte Einstellungen für Binlog2.1 Binlog-Modus ändernEs 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. [mysqld] binlog_format = gemischt #Protokollformat festlegen 2.2 Verwandte SQL-Operationen BinlogBinä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:
|
<<: Detaillierte Erläuterung der Konvertierung von JavaScript-Objekten in primitive Werte
>>: Detaillierte Erklärung der HTML-Style-Tags und der zugehörigen CSS-Referenzen
1. Laden Sie das Gitlab-Image herunter Docker-Pul...
Aktivieren Sie Remote-Zugriffsrechte für MySQL My...
Ich habe erst vor Kurzem angefangen, mich mit Dat...
Dieser Artikel veranschaulicht anhand eines Beisp...
Da sich die heimische Netzwerkumgebung immer weit...
Die neue offizielle Website ist online, aber die ...
Ich weiß nicht, ob Sie schon einmal auf eine solc...
MySQL Replikationsfilter dynamisch ändern Lassen ...
Wird UPDATE gesperrt? Wird die SQL-Anweisung gesp...
Inhaltsverzeichnis Vorwort 1. Technisches Prinzip...
Docker Swarm ist ein von Docker entwickelter Cont...
Inhaltsverzeichnis Überblick 1. Trennung von Fron...
Inhaltsverzeichnis Überblick 1. Globale Registrie...
Was ist WSL Zitat aus der Baidu-Enzyklopädie: Das...
Dockerfile ist eine Textdatei, die Anweisungen en...