2012-03-12 70 views
0

我有一個Amazon EC2服務器實例,並將其連接五個EBS卷說MySQL的 - 分區數據庫表到Amazon EC2實例不同EBS卷

  1. ebsvol1
  2. ebsvol2
  3. ebsvol3
  4. ebsvol4
  5. ebsvol5

而供應這臺服務器我需要安裝MySQL服務器,並需要設置我的數據庫。在這裏,我需要爲一個EBS卷(例如ebsvol1)和其他表裝載幾張表到另一個卷(例如ebsvol2)。

我是這個亞馬遜env的初學者。請指導我如何繼續。

+0

我不認爲MySQL支持。 – 2012-03-12 14:25:13

+0

爲什麼你想把每個表放在不同的捲上? – 2012-03-12 14:42:14

+0

@Ory:當用戶數量增加時,少數表格上的數據會大量增加。表格分爲不同的卷是有意義的。 – 2012-03-13 03:55:58

回答

4

此答案適用於基於LINUX的實例。

this article at Amazon開始,它解釋瞭如何設置MySQL以在EBS捲上運行。這不是嚴格必要的 - 下面的步驟應該適用於標準的MySQL安裝。

您需要爲每個EBS卷/表組創建一個新的模式。我不相信你可以將你的表保存在一個模式中,而是將它們分散在多個EBS捲上。每個空模式由包含名爲db.opt的單個文件的/var/lib/mysql/中的文件夾表示。

要移動模式,以它自己的EBS卷需要以下步驟(使用模式my_schema):

  • 裝入EBS卷如果尚未安裝(假定安裝爲/ebsvol1);確保音量在列在/ etc/fstab中所以它會自動被安裝在重啓

  • 的安裝文件夾的更改權限,以匹配當前模式文件夾

chmod 700 /ebsvol1 
    chown mysql /ebsvol1 
    chgrp mysql /ebsvol1 
  • 複製db。選擇從架構文件夾文件到新的卷(如果您已經創建的模式下表,這些也需要被複制)
cp /var/lib/mysql/my_schema/db.opt /ebsvol1/ 
    chmod 660 /ebsvol1/db.opt 
    chown mysql /ebsvol1/db.opt 
    chgrp mysql /ebsvol1/db.opt 
  • 與替換原來的模式文件夾的符號鏈接EBS卷
cd /var/lib/mysql 
    rm -fr my_schema 
    ln -s /ebsvol1 my_schema 

如果您的操作系統使用AppArmor,則可能需要將/ ebsvol1包含在允許MySQL寫入的文件夾列表中。詳情請參閱the article here

現在,任何在my_schema下創建的表格都將存儲在/ ebsvol1上。

相關問題