Mehrere spezifische Methoden zur MySQL-Speicherplatzbereinigung

Mehrere spezifische Methoden zur MySQL-Speicherplatzbereinigung

Vorwort

In der MySQL-Umgebung werden MySQL-Fehler häufig durch eine volle Datenfestplatte verursacht. Im Folgenden finden Sie eine Zusammenfassung zum Bereinigen von MySQL-Speicherplatz in einer MySQL-Umgebung.

1. Überprüfen Sie die Dateidatenträgernutzung

1.1 Überprüfen Sie die Festplattenspeichernutzung

[root@mysqlhost01 /]# df -lh

Bildbeschreibung hier einfügen

1.2 Überprüfen Sie die Verzeichnisspeicherplatznutzung

[root@mysqlhost01 /]# du -sh /usr
5,5 G /usr

Bildbeschreibung hier einfügen

2.Binlog-Protokollbereinigung

2.1. Binlog-Protokolle regelmäßig automatisch bereinigen

mysql>Variablen wie „%expire_logs_days%“ anzeigen; --mysql 5.7
mysql> Variablen wie '%binlog_expire_logs_seconds%' anzeigen --mysql8.0

mysql8.0
MySQL 8 startet mit expire_logs_days. Deaktivieren Sie binlog_expire_logs_seconds. Stellen Sie binlog so ein, dass Protokolle automatisch gelöscht werden. Sparen Sie Zeit in Sekunden. Standard: 2592000 für 30 Tage, 14400 für 4 Stunden, 86400 für 1 Tag und 259200 für 3 Tage.
mysql> setze global binlog_expire_logs_seconds=86400;

mysql5.7
Der Standardwert ist 0, was bedeutet, dass Protokolle nicht ablaufen. Sie können die globalen Parameter festlegen, um den Wert vorübergehend wirksam zu machen:
mysql>globale Ablaufprotokolltage auf 10 festlegen;

Bildbeschreibung hier einfügen

2.2 Binlog-Protokolle manuell löschen

Schritt 1: Melden Sie sich bei MySQL an und verwenden Sie „show binary logs“, um die Protokolldatei anzuzeigen.
mysql>Binärprotokolle anzeigen;
Schritt 2: Zeigen Sie die verwendete Protokolldatei an: „Masterstatus anzeigen“;
mysql>Masterstatus anzeigen;
Die aktuell verwendete Protokolldatei ist mysqlhost01-bin.000010, daher sollte diese Datei beim Löschen der Protokolldatei ausgeschlossen werden.
Der Befehl zum Löschen der Protokolldatei: purge binary logs to 'mysqlhost01-bin.000010';
mysql>Binärprotokolle nach „mysqlhost01-bin.000010“ löschen;
Löschen Sie andere Protokolldateien als mysqlhost01-bin.000010. Sie können auch einen anderen Dateinamen angeben, z. B. mysql-bin.000003.
Durch das Löschen wird der meiste Speicherplatz freigegeben.

Bildbeschreibung hier einfügen

2.3.Langsame Protokollbereinigung

Schritt 1: Überprüfen Sie den langsamen Protokollmodus mysql>zeigen Sie Variablen wie „log_output%“ an;
Schritt 2: Überprüfen Sie den Speicherort der Slow-Protokolldatei, um Variablen wie „%slow%“ anzuzeigen.
Schritt 3 Löschen Sie das Slow-Protokoll [root@mysqlhost01 /]# cd /usr/local/mysql57/mysql5730/data
[root@mysqlhost01 data]# echo "">mysqlhost01-slow.log

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

2.4.Fehlerprotokoll bereinigen

Schritt 1: Überprüfen Sie den Speicherort des Fehlerprotokolls: mysql>zeigen Sie Variablen wie „log_error“ an;
Schritt 2 Überprüfen Sie die Größe des Fehlerprotokolls [root@mysqlhost01 data]# ll -h log.err
Schritt 3 Löschen Sie das Fehlerprotokoll echo "">/usr/local/mysql57/mysql5730/data/log.err

Bildbeschreibung hier einfügen

3. Tischreinigung

Eine große Tabelle ist eine einzelne Datendatei, die mehr als 100 GB Speicherplatz belegt, oder eine einzelne Tabelle, die mehr als 100 Millionen Datensätze enthält.

3.1. Überprüfen Sie den Tabellenbereich und die Anzahl der Datensätze

Wählen Sie Tabellenschema, Tabellenname,
concat(round((Datenlänge+Indexlänge)/1024/1024/1024,2),'G') als Tabellengröße_gb,
table_rows aus information_schema.tables
Sortieren nach tablesize_gb, Beschreibungslimit 5;

table_schema: Datenbankname table_name: Tabellenname tablesize_gb: Tabellengröße in G-Einheiten table_rows: Anzahl der Zeilen 

Bildbeschreibung hier einfügen

3.2 Allgemeine Tabellendatenbereinigung

Als konventionelle Tische werden solche bezeichnet, die nicht den Ansprüchen an große Tische genügen.
Löschen
Syntax: Löschen aus Tabellenname [Where-Bedingung]
Mit „Löschen“ werden nur die Daten gelöscht, die die Bedingungen erfüllen. Der von der Tabelle belegte Speicherplatz wird dadurch nicht verringert.
Nach dem Löschen einer großen Datenmenge bleiben Fragmente übrig, die sortiert und wiederhergestellt werden müssen. Optimieren Sie die Tabelle table.name
Oder alter table table.name engine='innodb' (sperrt die Tabelle, achten Sie darauf, die Ausführung außerhalb der Geschäftszeiten vorzunehmen)


Kürzen
Syntax: Tabelle Tabellenname abschneiden
Truncate löscht sämtliche Tabellendaten und gibt den belegten Tabellenplatz zurück.

Fallen
Syntax: Tabelle Tabellenname löschen
Durch „Drop“ werden sämtliche Tabellendaten und die Tabellenstruktur gelöscht und der belegte Tabellenplatz wird freigegeben.

Damit ist dieser Artikel über mehrere spezifische Methoden zur Bereinigung des MySQL-Speicherplatzes abgeschlossen. Weitere relevante Inhalte zur Bereinigung des MySQL-Speicherplatzes finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • So bereinigen Sie den MySQL-Speicherplatz in der Alibaba Cloud

<<:  So implementieren Sie ein Dropdown-Menü für die HTML-Eingabe

>>:  Detaillierte Zusammenfassung der Übermittlungsmethoden für Webformulare

Artikel empfehlen

Eine detaillierte Einführung in for/of, for/in in JavaScript

Inhaltsverzeichnis In JavaScript gibt es mehrere ...

Detailliertes Tutorial zur automatischen Installation von CentOS7.6 mit PXE

1. Nachfrage Die Basis verfügt über 300 neue Serv...

Lösung zum Vergessen des MySQL-Datenbankkennworts

Möglicherweise haben Sie gerade ein MySQL-Passwor...

JavaScript implementiert einen langen Bild-Scroll-Effekt

In diesem Artikel wird der spezifische Code für d...

HTML ungeordnete Liste Aufzählungspunkte mit Bildern CSS schreiben

Erstellen Sie eine HTML-Seite mit einer ungeordnet...

Nodejs-Plugin und Nutzungsübersicht

Die Betriebsumgebung dieses Tutorials: Windows 7-...

So verwenden Sie residente Knoten für die Ebenenverwaltung in CocosCreator

CocosCreator-Version: 2.3.4 Die meisten Spiele ve...

Eine Methode zum Erstellen von Karussellbildern mit CSS3

Diashows sieht man häufig auf Webseiten. Sie enth...

Detaillierte Erklärung des Unterschieds zwischen run/cmd/entrypoint in Docker

In Dockerfile können run, cmd und entrypoint zum ...

Anzeigemodus von Elementen in CSS

In CSS werden Element-Tags entsprechend den unter...