CREATE TABLE test_partition(
id INT NOT NULL,
name VARCHAR(16) NOT NULL,
PRIMARY KEY(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
partition by hash (id) partitions 3(
partition p0
data directory='D:/data'
index directory='D:/idx',

partition p1
data directory='E:/data'
index directory='E:/idx',

partition p2
data directory='F:/data'
index directory='F:/idx'
);如上,创建分区,插入数据,为何在相应的磁盘路径下找不到文件

解决方案 »

  1.   

    补充下,我的mysql版本是5.5,windows下面
      

  2.   

    Query OK, 0 rows affected, 6 warnings (0.48 sec)mysql> show warnings;
    +---------+------+----------------------------------+
    | Level   | Code | Message                          |
    +---------+------+----------------------------------+
    | Warning | 1618 | <DATA DIRECTORY> option ignored  |
    | Warning | 1618 | <INDEX DIRECTORY> option ignored |
    | Warning | 1618 | <DATA DIRECTORY> option ignored  |
    | Warning | 1618 | <INDEX DIRECTORY> option ignored |
    | Warning | 1618 | <DATA DIRECTORY> option ignored  |
    | Warning | 1618 | <INDEX DIRECTORY> option ignored |
    +---------+------+----------------------------------+
    6 rows in set (0.00 sec)
      

  3.   

    ·         DATA DIRECTORY, INDEX DIRECTORY 通过使用DATA DIRECTORY='directory'或INDEX DIRECTORY='directory',您可以指定MyISAM存储引擎放置表格数据文件和索引文件的位置。注意,目录应是通向目录的完整路径(不是相对路径)。仅当您没有使用--skip-symbolic-links选项时,DATA DIRECTORY, INDEX DIRECTORY才能使用。操作系统必须有一个正在工作的、线程安全的realpath()调用。
      

  4.   

    不是很懂,"操作系统必须有一个正在工作的、线程安全的realpath()调用",这个是说要在linux下面么
      

  5.   

    /dev/sda3              20G  473M   19G   3% /usr/local
    /dev/sda4             103G   23G   75G  24% /data比如他说要分区到不同的磁盘上,那是不是路径写成
    '/usr/local/data0/data'
    '/usr/local/data0/index'
    '/data/data1/data'
    '/data/data1/index'
      

  6.   

    刚刚在linux上没看到警告,不知道windows上怎么配
      

  7.   

    后来发现,如果要分到不同的硬盘上,不能是innoDB