你的说法应该是
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 – 2014-09-01 19:56:54
您在分配数据目录时也缺少'='符号。 – 2014-09-01 20:00:08
“\”是[esacpe chaacter](http://dev.mysql.com/doc/refman/5.0/en/string-literals.html),所以请尝试:'... DATA DIRECTORY'd:\\ Abc ';' – Rimas 2014-09-01 20:21:58