Heim > Datenbank > MySQL-Tutorial > Wie kann ich meine InnoDB-Speicher-Engine effizient bereinigen, um die Datenbankleistung zu verbessern?

Wie kann ich meine InnoDB-Speicher-Engine effizient bereinigen, um die Datenbankleistung zu verbessern?

Patricia Arquette
Freigeben: 2024-12-16 16:51:15
Original
994 Leute haben es durchsucht

How Can I Efficiently Clean Up My InnoDB Storage Engine to Improve Database Performance?

So bereinigen Sie eine InnoDB-Speicher-Engine

Trotz ihrer Vorteile kann die InnoDB-Speicher-Engine mit Daten aus gelöschten Tabellen überladen werden, was möglicherweise zu einer Aufblähung führt die Datenbank im Laufe der Zeit. Um diese unnötigen Daten zu bereinigen und die Datenbankeffizienz aufrechtzuerhalten, befolgen Sie diese Schritte:

Schritt 1: Datenbankdaten sichern

Exportieren Sie die gesamte Datenbank mit mysqldump in eine SQL-Textdatei . Sie können beispielsweise eine Datei mit dem Namen SQLData.sql erstellen.

Schritt 2: Datenbanken löschen

Alle Datenbanken außer mysql und information_schema löschen. Stellen Sie sicher, dass Sie über alle Benutzerberechtigungen verfügen, indem Sie das MySQL-Verzeichnis an einen Sicherungsspeicherort (/var/lib/mysql_grants) kopieren.

Schritt 3: Transaktionsänderungen löschen

Führen Sie aus Befehl SET GLOBAL innodb_fast_shutdown = 0; um alle verbleibenden Transaktionsänderungen zu löschen.

Schritt 4: Herunterfahren und Konfiguration ändern

Fahren Sie MySQL herunter und fügen Sie die folgenden Zeilen zu Ihrer /etc/my.cnf-Datei hinzu:

[mysqld]
innodb_file_per_table
innodb_flush_method=O_DIRECT
innodb_log_file_size=1G
innodb_buffer_pool_size=4G
Nach dem Login kopieren

Schritt 5: Aufräumen Dateien

Löschen Sie die Dateien ibdata und ib_logfile aus Ihrem MySQL-Datenverzeichnis.

Schritt 6: Starten Sie MySQL neu

Starten Sie MySQL neu, um ibdata1 und ib_logfile* neu zu erstellen. Dateien.

Schritt 7: Daten importieren

Importieren Sie die zuvor gespeicherte SQLData.sql-Datei, um Ihre Datenbankdaten wiederherzustellen.

Nach Abschluss dieser Schritte ibdata1 enthält nur Tabellenmetadaten, während jede InnoDB-Tabelle unabhängig gespeichert wird. Durch Ausführen von OPTIMIZE TABLE werden nun die Tabellendateien (/var/lib/mysql/mydb/mytable.ibd) effektiv verkleinert.

Das obige ist der detaillierte Inhalt vonWie kann ich meine InnoDB-Speicher-Engine effizient bereinigen, um die Datenbankleistung zu verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage