我有一個Amazon EC2服務器實例,並將其連接五個EBS卷說MySQL的 - 分區數據庫表到Amazon EC2實例不同EBS卷
- ebsvol1
- ebsvol2
- ebsvol3
- ebsvol4
- ebsvol5
而供應這臺服務器我需要安裝MySQL服務器,並需要設置我的數據庫。在這裏,我需要爲一個EBS卷(例如ebsvol1)和其他表裝載幾張表到另一個卷(例如ebsvol2)。
我是這個亞馬遜env的初學者。請指導我如何繼續。
我有一個Amazon EC2服務器實例,並將其連接五個EBS卷說MySQL的 - 分區數據庫表到Amazon EC2實例不同EBS卷
而供應這臺服務器我需要安裝MySQL服務器,並需要設置我的數據庫。在這裏,我需要爲一個EBS卷(例如ebsvol1)和其他表裝載幾張表到另一個卷(例如ebsvol2)。
我是這個亞馬遜env的初學者。請指導我如何繼續。
此答案適用於基於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
cp /var/lib/mysql/my_schema/db.opt /ebsvol1/ chmod 660 /ebsvol1/db.opt chown mysql /ebsvol1/db.opt chgrp mysql /ebsvol1/db.opt
cd /var/lib/mysql rm -fr my_schema ln -s /ebsvol1 my_schema
如果您的操作系統使用AppArmor,則可能需要將/ ebsvol1包含在允許MySQL寫入的文件夾列表中。詳情請參閱the article here。
現在,任何在my_schema下創建的表格都將存儲在/ ebsvol1上。
我不認爲MySQL支持。 – 2012-03-12 14:25:13
爲什麼你想把每個表放在不同的捲上? – 2012-03-12 14:42:14
@Ory:當用戶數量增加時,少數表格上的數據會大量增加。表格分爲不同的卷是有意義的。 – 2012-03-13 03:55:58