Bara för att uppdatera det här inlägget om någon någonsin stöter på detta, stöder InnoDB nu datakatalog sedan version 5.6. Ingen symbolisk länk (rekommenderas inte) och fungerar för både *nix och Windows.
Krav:
- MySQL 5.6 och senare
- innodb_file_per_table är aktiverad
innodb_file_per_table = 1
Scenario 1 (skapa nya tabeller):
Det är så enkelt som att specificera DATA DIRECTORY-alternativen när tabellen skapas.
CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';
Scenario 2 (flytta befintlig tabell till separat disk):
Detta innebär några fler steg (omstart av MySQL-servern krävs) men fortfarande ganska rakt fram. Och det kräver inte att tabellen har DATA DIRECTORY-alternativet specificerat när tabellen skapades.
- Stoppa MySQL-server
- Flytta innodb-tabellen tabellnamn .ibd-fil för att separera disk/volym genom enkel filkopiering/filflyttning
- Skapa en textfil med tillägget .isl, t.ex. tabellnamn .isl
- Redigera .isl-filen och skriv in den nya sökvägen till tabellnamn .ibd-fil som du flyttade.
/alternative/directory/table_name.ibd
- Se till att den ursprungliga .ibd-filen i den gamla sökvägen togs bort
- Starta MySQL-server
Nu kommer efterföljande ändringar av den flyttade tabellen att sparas i .ibd-filen i ny sökväg.
För referens, se MySQL officiella dokument:http:// dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html