Само за да актуализирам тази публикация, ако някой някога срещне това, InnoDB вече поддържа директория с данни от версия 5.6. Няма символна връзка (не се препоръчва) и работи както за *nix, така и за Windows.
Изисквания:
- MySQL 5.6 и по-нови версии
- innodb_file_per_table е активиран
innodb_file_per_table = 1
Сценарий 1 (създайте нови таблици):
Това е толкова просто, колкото да посочите опциите DATA DIRECTORY по време на създаване на таблица.
CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';
Сценарий 2 (преместване на съществуваща таблица на отделен диск):
Това включва още няколко стъпки (изисква се рестартиране на MySQL сървъра), но все още доста ясно. И не изисква таблицата да има опция DATA DIRECTORY, посочена по време на създаването на таблицата.
- Спрете MySQL сървъра
- Преместете таблицата innodb име_на_таблица .ibd файл за разделяне на диск/том чрез просто копиране/преместване на файл
- Създайте текстов файл с разширение .isl, напр. име_на_таблица .isl
- Редактирайте .isl файла и въведете новия път до име_на_таблица .ibd файл, който сте преместили.
/alternative/directory/table_name.ibd
- Уверете се, че оригиналният .ibd файл в стария път е премахнат
- Стартирайте MySQL сървър
Сега следващите промени в преместената таблица ще бъдат записани в .ibd файл в нов път.
За справка, моля, вижте официалния документ на MySQL:http:// dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html