Ваше заявление должно быть
CREATE TABLE db.tb (
tb_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
)
ENGINE=InnoDB
DATA DIRECTORY='d:/Abc';
или
CREATE TABLE db.tb (
tb_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
)
ENGINE=InnoDB
DATA DIRECTORY='d:\\Abc';
потому, чтобы написать слэш в строке вы должны удвоить его, и вы пропали без вести в =
тоже как Сайед Али Таки упомянул.
Вы должны проверить, что innodb_file_per_table опция конфигурации включена:
SELECT @@innodb_file_per_table; -- should return 1
Documentation
Примечание:
В случае InnoDB INDEX DIRECTORY
не потребуется, так как файл .idb
содержит оба, данные и индексы, see manual:
Каждая таблица InnoDB, созданная с использованием режима «файл за стол», переходит в собственный файл табличного пространства с расширением .ibd внутри базы данных . Этот файл содержит данные таблицы и любые индексы для таблицы . Режим «Файл за стол», контролируемый параметром innodb_file_per_table , влияет на многие аспекты использования и производительности хранилища InnoDB, и включен по умолчанию в MySQL 5.6.7 и выше.
Возможный дубликат http://stackoverflow.com/questions/12143561/data-directory-mysql –
Вам также не хватает знака '=' при назначении каталога данных. –
«\» [esacpe chaacter] (http://dev.mysql.com/doc/refman/5.0/ru/string-literals.html), поэтому попробуйте: '... DATA DIRECTORY 'd: \\ Abc '; ' – Rimas