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:
- MySQL 5.6 und höher
- 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.
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.
- MySQL-Server stoppen
- Verschieben Sie die innodb-Tabelle table_name .ibd-Datei auf separate Festplatte/Volume durch einfaches Kopieren/Verschieben von Dateien
- Erstellen Sie eine Textdatei mit der Erweiterung .isl, z. Tabellenname .isl
- 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
- Stellen Sie sicher, dass die ursprüngliche .ibd-Datei im alten Pfad entfernt wurde
- 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