Jen pro aktualizaci tohoto příspěvku, pokud se s tím někdo někdy setká, InnoDB nyní podporuje datový adresář od verze 5.6. Žádný symbolický odkaz (nedoporučuje se) a funguje pro *nix i Windows.
Požadavky:
- MySQL 5.6 a vyšší
- je povolena funkce innodb_file_per_table
innodb_file_per_table = 1
Scénář 1 (vytvoření nových tabulek):
Je to stejně jednoduché jako zadání voleb DATA DIRECTORY při vytváření tabulky.
CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';
Scénář 2 (přesunutí existující tabulky na samostatný disk):
To zahrnuje několik dalších kroků (vyžaduje restart serveru MySQL), ale stále docela přímočaré. A nevyžaduje, aby tabulka měla při vytváření tabulky zadanou volbu DATA DIRECTORY.
- Zastavit server MySQL
- Přesuňte tabulku innodb název_tabulky .ibd k oddělení disku/svazku jednoduchým zkopírováním/přesunutím souboru
- Vytvořte textový soubor s příponou .isl, např. název_tabulky .isl
- Upravte soubor .isl a zadejte novou cestu k název_tabulky .ibd soubor, který jste přesunuli.
/alternative/directory/table_name.ibd
- Ujistěte se, že původní soubor .ibd ve staré cestě byl odstraněn
- Spusťte server MySQL
Nyní budou následující změny v přesunuté tabulce uloženy do souboru .ibd v nové cestě.
Odkaz naleznete v oficiálním dokumentu MySQL:http:// dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html