作業環境:CentOS 6.4 64位
首先要建立/ibddir目錄並修改/ibddir目錄的所有者及對應的組:chown -R mysql:mysql /ibddir
操作1:
CREATE TABLE `D_TF_DATA_AGGREGATION_MYISAM` (
`strative_id` VARCHAR(16) NOT NULL,
`date_id` VARCHAR(8) NOT NULL,
`qua_id` VARCHAR(4) NOT NULL,
`fh` DECIMAL(16,6) DEFAULT NULL,
`dl` DECIMAL(16,6) DEFAULT NULL,
PRIMARY KEY (`strative_id`,`date_id`,`qua_id`)
) ENGINE=MYISAM DATA DIRECTORY = '/ibddir' INDEX DIRECTORY= '/ibddir';
CREATE TABLE `D_TF_DATA_AGGREGATION` (
`strative_id` VARCHAR(16) NOT NULL,
`date_id` VARCHAR(8) NOT NULL,
`qua_id` VARCHAR(4) NOT NULL,
`fh` DECIMAL(16,6) DEFAULT NULL,
`dl` DECIMAL(16,6) DEFAULT NULL,
PRIMARY KEY (`strative_id`,`date_id`,`qua_id`)
) ENGINE=INNODB DATA DIRECTORY = '/ibddir'
操作2:
CREATE TABLE `D_TF_DATA_AGGREGATION_1` (
`strative_id` VARCHAR(16) NOT NULL,
`date_id` VARCHAR(8) NOT NULL,
`qua_id` VARCHAR(4) NOT NULL,
`fh` DECIMAL(16,6) DEFAULT NULL,
`dl` DECIMAL(16,6) DEFAULT NULL,
PRIMARY KEY (`strative_id`,`date_id`,`qua_id`)
) ENGINE=MYISAM;
ALTER TABLE D_TF_DATA_AGGREGATION_1 DATA DIRECTORY= '/ibddir';
ALTER TABLE D_TF_DATA_AGGREGATION_1 INDEX DIRECTORY= '/ibddir';
show warnings;
-- alter操作 -- <INDEX DIRECTORY> option ignored
-- alter操作 -- <DATA DIRECTORY> option ignored
-- 可見指定DATA DIRECTORY 和INDEX DIRECTORY操作只可以在建立表的時候指定,不可以alter(ALTER TABLE忽略DATA DIRECTORY和INDEX DIRECTORY表選項)。
註:這種可以指定INDEX DIRECTORY 和 DATA DIRECTORY 操作,在當磁碟分割不足的時候,可以將資料檔案放在其它的分區上。
註:INNODB 表要是獨立資料表空間(innodb_file_per_table=1)。
註:目前只有5.6才支援單表指定目錄,且目錄是mysql:mysql。
註: 在Windows中將忽略DATA DIRECTORY和INDEX DIRECTORY選項。