MySQL 5.7 führt eine neue Datei ibtmp1 zum Speichern temporärer Daten in InnoDB ein, um die Leistung zu steigern.
Aber ich habe festgestellt, dass seine Größe kontinuierlich zunimmt. Auf meinem Datenbankserver erhöht sich seine Größe auf 92 GB.
Gibt es eine Möglichkeit, die Größe zu reduzieren oder die Datei zu löschen ohne den Server neu zu starten?
Vielen Dank
Das einmal erstellte ibtmp1 kann mit keiner Methode verkleinert werden, ohne den MySQL-Dienst neu zu starten.
Es gibt zwei Möglichkeiten, damit umzugehen:
Vorsichtsmaßnahme : Zum Zeitpunkt des Serverstarts sollten Sie die Größe dieser Datei wie folgt begrenzen:
innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G
dabei bedeutet max 5G, dass diese Dateigröße auf 5 GB begrenzt ist.
Cure : Wenn die Datei bereits erstellt wurde, müssen Sie den Dienst neu starten:
SET GLOBAL innodb_fast_shutdown = 0;
Shutdown MySQL
remove ibtmp1
start MySQL.
Dokumente: https://dev.mysql.com/doc/refman/5.7/en/innodb-temporary-tablespace.html