In MySQL und MariaDB-DBMS Daten aus einem freigegebenen Tabellenbereich in einen Datei-pro-Tabelle-Tabellenbereich verschieben

Alle erweitern | Alles ausblenden

Für ein MySQL- und MariaDB-DBMS können Sie Daten auf folgende Weise speichern:

Die Verwendung eines gemeinsam genutzten Tabellenbereichs erhöht das Risiko der Fragmentierung des Tabellenbereichs. Da es nicht möglich ist, eine SHRINK-Operation auszuführen, kann eine Datei in einem gemeinsam genutzten Tabellenbereich etwa 90 % des Speicherplatzes einnehmen. Dies wirkt sich negativ auf die Leistung des Datenträgersubsystems aus. Daher ist es sinnvoll, sich für einen Tabellenbereich für Dateien pro Tabelle zu entscheiden.

In diesem Artikel wird beschrieben, wie Sie Daten aus einem gemeinsam genutzten Tabellenbereich in einen Datei-pro-Tabelle-Tabellenbereich verschieben. Wenn das MySQL- oder MariaDB-DBMS auch von anderen Anwendungen verwendet wird, müssen Sie die Datenbanken dieser Anwendungen in den Datei-pro-Tabelle-Tabellenbereich verschieben.

Es wird empfohlen, dieses Verfahren nur auszuführen, wenn Sie ein MySQL- oder MariaDB-DBMS für den Administrationsserver verwenden.
Das Verschieben von Daten aus einem gemeinsam genutzten Tabellenbereich in einen Datei-pro-Tabelle-Tabellenbereich kann die Belastung des Festplatten-Subsystems erhöhen.

Erforderliche Vorrausetzungen

Bevor Sie beginnen, stellen Sie Folgendes sicher:

Der erforderliche Speicherplatz beträgt 150 % der aktuellen Gesamtgröße der Datenbanken (aktuelle Größe der Datei ibdata1).

Prozess

Gehen Sie wie folgt vor, um Daten aus einem gemeinsam genutzten Tabellenbereich in einen Tabellenbereich für Dateien pro Tabelle zu verschieben:

  1. Stoppen Sie den Kaspersky Security Center Administrationsserver und andere Anwendungen, welche die gleiche DBMS-Instanz verwenden, für die Sie diesen Vorgang ausführen möchten.
  2. Melden Sie sich je nach DBMS-Version als Superuser an Ihrem DBMS an und führen Sie anschließend in einer beliebigen Anwendung das Skript fix_tablespace.sql aus.

    Sie können die Skripte fix_tablespace.sql anzeigen, indem Sie auf diese Links klicken:

    Das Skript für MySQL 5.7 und MariaDB 10.1+ anzeigen

    Das Skript für MySQL 8.0+ anzeigen

    Sie dürfen die Skriptausführung nicht stoppen.
    Wenn keine DBMS-Fehler aufgetreten sind, Sie aber die Skriptausführung beendet haben, führen Sie entweder das Skript erneut durch oder stoppen Sie die Schritte dieses Verfahrens, starten Sie den DBMS-Dienst neu und stellen Sie die Daten des Administrationsservers aus der Sicherung wieder her.

  3. Setzen Sie im Abschnitt [mysqld] der Datei my.cnf den Parameter innodb_file_per_table auf 1.
  4. Starten Sie den MySQL oder MariaDB-Dienst neu.
  5. Starten Sie den Dienst des Kaspersky Security Center Administrationsservers neu.

Die Daten werden von einem gemeinsam genutzten Tabellenbereich in einen Datei-pro-Tabelle-Tabellenbereich verschoben.

Nach oben