Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Innodb; mehrere Datenverzeichnisse

Nur um diesen Beitrag zu aktualisieren, falls jemand jemals darauf stößt, unterstützt InnoDB jetzt das Datenverzeichnis seit Version 5.6. Kein symbolischer Link (nicht empfohlen) und funktioniert sowohl für *nix als auch für Windows.

Anforderungen:

  1. MySQL 5.6 und höher
  2. innodb_file_per_table ist aktiviert

innodb_file_per_table = 1

Szenario 1 (neue Tabellen erstellen):

Es ist so einfach wie die Angabe der DATA DIRECTORY-Optionen während der Erstellung der Tabelle.

  1. CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';

Szenario 2 (Verschieben einer vorhandenen Tabelle auf eine separate Festplatte):

Dies erfordert einige weitere Schritte (Neustart des MySQL-Servers erforderlich), ist aber immer noch ziemlich einfach. Und es ist nicht erforderlich, dass die Tabelle während der Tabellenerstellung die Option DATA DIRECTORY angegeben hat.

  1. MySQL-Server stoppen
  2. Verschieben Sie die innodb-Tabelle table_name .ibd-Datei auf separate Festplatte/Volume durch einfaches Kopieren/Verschieben von Dateien
  3. Erstellen Sie eine Textdatei mit der Erweiterung .isl, z. Tabellenname .isl
  4. Bearbeiten Sie die .isl-Datei und geben Sie den neuen Pfad zu table_name ein .ibd-Datei, die Sie verschoben haben./alternative/directory/table_name.ibd
  5. Stellen Sie sicher, dass die ursprüngliche .ibd-Datei im alten Pfad entfernt wurde
  6. MySQL-Server starten

Jetzt werden nachfolgende Änderungen an der verschobenen Tabelle in der .ibd-Datei im neuen Pfad gespeichert.

Als Referenz lesen Sie bitte das offizielle MySQL-Dokument:http:// dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html