Heim >Datenbank >MySQL-Tutorial >Wie kann ich die ibdata1-Datei in MySQL bereinigen und verkleinern?

Wie kann ich die ibdata1-Datei in MySQL bereinigen und verkleinern?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-04 15:13:11282Durchsuche

How Can I Purge and Shrink the ibdata1 File in MySQL?

Ibdata1-Datei in MySQL löschen und verkleinern

Trotz dem Löschen von Datenbanken in MySQL kann sich die Größe der ibdata1-Datei ansammeln, was zu Leistungsproblemen führt. Um dieses Problem zu beheben, können Sie mit MySQL einzelne Tabellen und Indizes so konfigurieren, dass sie separate Dateien verwenden, anstatt sie in ibdata1 zu speichern.

Einzelne Tabellendateien konfigurieren

Fügen Sie die folgende Einstellung hinzu zu Ihrer my.cnf-Datei:

[mysqld]
innodb_file_per_table=1

Starten Sie MySQL neu, damit die Änderungen wirksam werden. Dadurch wird sichergestellt, dass neue Tabellen mit ihren eigenen ibd*-Dateien erstellt werden.

Speicherplatz von Ibdata1 zurückfordern

Um Speicherplatz von ibdata1 zurückzugewinnen, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie einen Dump aller Datenbanken außer MySQL und performance_schema.
  2. Löschen Sie alle Datenbanken außer mysql und performance_schema.
  3. Stoppen Sie MySQL.
  4. Löschen Sie die Dateien ibdata1 und ib_log.
  5. Starten Sie MySQL.
  6. Stellen Sie die Datenbank von wieder her dump.

Beim Neustart erstellt MySQL eine neue ibdata1- und ib_log-Datei. Wenn Sie neue Datenbanken für die Analyse erstellen, verwenden diese einzelne ibd*-Dateien anstelle von ibdata1.

Tabellengröße optimieren

Mit der ALTER TABLE ENGINE=innodb oder OPTIMIZE TABLE Befehle können Daten und Indexseiten von ibdata1 in separate Dateien verschieben. Allerdings wird ibdata1 nicht verkleinert, ohne die oben genannten Schritte auszuführen.

Zusätzliche Hinweise

  • Die Datenbank „information_schema“ kann nicht gelöscht werden, da sie schreibgeschützte Ansichten enthält werden beim MySQL-Neustart neu generiert.
  • Obwohl MySQL Enterprise Edition zusätzliche Funktionen zum Verkleinern von ibdata1 bietet, sind diese in der Community nicht verfügbar Auflage.

Das obige ist der detaillierte Inhalt vonWie kann ich die ibdata1-Datei in MySQL bereinigen und verkleinern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn