Rückgewinnung von InnoDB-Speicherplatz
MySQL InnoDB-Engine verwaltet Daten in einer Datei namens ibdata1, wo sie Tabellendaten, Indizes, Metadaten usw. speichert andere Infrastrukturkomponenten. Im Laufe der Zeit können sich die Daten gelöschter Tabellen in ibdata1 ansammeln, was zu einer Aufblähung des Speicherplatzes führt.
Methode zum Bereinigen der InnoDB-Speicher-Engine
Um ibdata1 zu verkleinern und Speicherplatz freizugeben, befolgen Sie die folgenden Schritte Diese Schritte:
-
Datenbanken sichern und löschen:Alle Datenbanken exportieren in eine SQL-Datei (SQLData.sql) kopieren und alle Datenbanken außer MySQL und information_schema löschen.
-
Transaktionsdaten leeren: SET GLOBAL ausführen innodb_fast_shutdown = 0; um alle Transaktionsänderungen aus Protokolldateien zu löschen.
-
MySQL konfigurieren: Fügen Sie der my.cnf-Datei die entsprechenden Einstellungen hinzu, einschließlich innodb_file_per_table, innodb_flush_method=O_DIRECT, innodb_log_file_size=1G und innodb_buffer_pool_size=4G.
-
Ibdata- und Protokolldateien löschen: Ibdata*- und ib_logfile*-Dateien aus dem Datenverzeichnis entfernen.
-
MySQL neu starten: Starten MySQL, das ein neues ibdata1 mit einem kleineren erstellt Größe.
-
SQL-Daten importieren:SQLData.sql importieren, um die Datenbank wiederherzustellen.
Vorteile dieser Methode
- Gibt Speicherplatz frei, der zuvor durch gelöschte Tabellen belegt wurde.
- Verbessert die Leistung um Reduziert die Größe von ibdata1 und verbessert die E/A-Leistung.
- Bietet eine bessere Kontrolle über die Datenspeicherung durch die Trennung von Tabellendaten und Indizes in separate Dateien.
Hinweis:
Stellen Sie sicher, dass Benutzerberechtigungen erhalten bleiben, indem Sie das MySQL-Schemaverzeichnis kopieren und nach dem Bereinigungsprozess wiederherstellen. Optimieren Sie außerdem die Größe der Protokolldatei basierend auf Serveranforderungen und Arbeitslastmerkmalen.
Das obige ist der detaillierte Inhalt vonWie kann ich verschwendeten InnoDB-Speicherplatz in MySQL zurückgewinnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!