2012-01-22 76 views
2

我有一個大的mysql數據庫和兩個小磁盤上的centos,我該如何使它利用兩個磁盤?跨多個磁盤傳播mysql數據

+0

@Fahim Parkar:

如果你用完了你的最後一個分區的磁盤空間,你可以用下面的語句把它分解我不知道它是如何將概念上工作,在/ var/lib中/ MySQL的含所有的數據文件,不知道如何配置它使數據存儲在多個文件夾中 – user881480

回答

8

您可以將表分區到多個驅動器上。查看官方手冊,其中深入討論了這一主題。

http://dev.mysql.com/doc/refman/5.5/en/partitioning.html

這裏有一個例子在多個驅動器分區現有的表:

ALTER TABLE mytable 
    PARTITION BY RANGE (mycolumn)(
    PARTITION p01 VALUES Less Than (10000) 
     DATA DIRECTORY = "/mnt/disk1" 
     INDEX DIRECTORY = "/mnt/disk1", 
    PARTITION p02 VALUES Less Than (20000) 
     DATA DIRECTORY = "/mnt/disk2" 
     INDEX DIRECTORY = "/mnt/disk2", 
    PARTITION p03 VALUES Less Than MAXVALUE 
     DATA DIRECTORY = "/mnt/disk3" 
     INDEX DIRECTORY = "/mnt/disk3" 
    ); 

記住,這需要NO_DIR_IN_CREATE被關閉。它似乎不適用於Windows,它似乎不適用於InnoDB。

ALTER TABLE mytable REORGANIZE PARTITION p03 INTO 
( 
    PARTITION p03 VALUES Less Than (30000) 
     DATA DIRECTORY = "/mnt/disk3" 
     INDEX DIRECTORY = "/mnt/disk3", 
    PARTITION p04 VALUES Less Than MAXVALUE 
     DATA DIRECTORY = "/mnt/disk4" 
     INDEX DIRECTORY = "/mnt/disk4" 
);