Heim >Datenbank >MySQL-Tutorial >Wie kann ich die Größe meiner MySQL-ibdata1-Datei reduzieren?

Wie kann ich die Größe meiner MySQL-ibdata1-Datei reduzieren?

DDD
DDDOriginal
2024-12-15 01:11:11913Durchsuche

How Can I Reduce the Size of My MySQL ibdata1 File?

Löschen und Verkleinern der ibdata1-Datei in MySQL

Beim Einsatz von MySQL für die Datenanalyse in R können Benutzer auf ein Problem mit der Größe der ibdata1-Datei stoßen wächst übermäßig, obwohl keine Daten gespeichert sind. Dieser Artikel befasst sich mit diesem Problem und bietet eine umfassende Lösung.

Ursache für das Wachstum der ibdata1-Datei

Die ibdata1-Datei enthält Daten und Indizes von Tabellen, die im gemeinsam genutzten Tablespace gespeichert sind. Standardmäßig speichert MySQL alle Tabellen in dieser einzigen Datei, wodurch diese kontinuierlich erweitert wird. Durch das Löschen von Datenbanken und Tabellen werden nur deren Metadaten vom Server entfernt, die Datei selbst bleibt jedoch unverändert.

Lösung: Separate Datei pro Tabelle aktivieren

Um die ibdata1 zu vermeiden Um zu verhindern, dass die Datei übermäßig wächst, konfigurieren Sie MySQL so, dass jede Tabelle und ihre Indizes als separate Dateien gespeichert werden. Dies ist jetzt standardmäßig in MySQL 5.6.6 und späteren Versionen aktiviert. Wenn Sie eine frühere Version verwenden, fügen Sie der Datei my.cnf die folgende Zeile hinzu:

[mysqld]
innodb_file_per_table=1

Dadurch wird sichergestellt, dass neu erstellte Datenbanken und Tabellen separate ibd*-Dateien anstelle von ibdata1 verwenden.

Speicherplatz von ibdata1 zurückfordern

Um den von ibdata1 belegten Speicherplatz freizugeben, befolgen Sie diese Schritte Schritte:

  1. Speichern Sie alle 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 ibdata1- und ib_log-Dateien.
  5. Starten MySQL.
  6. Stellen Sie die gespeicherten Datenbanken wieder her.

Dieser Vorgang löscht alle Tabellen und Daten. Stellen Sie daher sicher, dass Sie die erforderlichen Informationen gesichert haben, bevor Sie fortfahren.

Hinweis zum Informationsschema

Das Informationsschema ist eine Sammlung schreibgeschützter Ansichten, keine tatsächlichen Tabellen. Es belegt keine Dateien auf der Festplatte und wird beim Neustart von MySQL neu generiert. Daher hat das Löschen keine Auswirkung auf die Dateigröße von ibdata1.

Das obige ist der detaillierte Inhalt vonWie kann ich die Größe meiner MySQL-ibdata1-Datei reduzieren?. 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