多實(shí)例部署概念
在同一主機(jī)上,同時(shí)開(kāi)啟多個(gè)不同的服務(wù)器端口(如: 3306、3307),同時(shí)運(yùn)行多個(gè)MySQL服務(wù)進(jìn)程,這些服務(wù)通過(guò)不同的socket監(jiān)聽(tīng)不同的服務(wù)器端口來(lái)提供服務(wù)。
說(shuō)明: 服務(wù)器硬件資源(CPU、Mem、Disk)、軟件資源(centos系統(tǒng))為公共資源。
多實(shí)例部署適用場(chǎng)景
優(yōu)勢(shì):
(1)有效利用服務(wù)器資源。單個(gè)服務(wù)器資源有剩余時(shí),可以充分利用剩余的資源提供服務(wù),且可以實(shí)現(xiàn)資源的邏輯隔離。
(2)節(jié)約服務(wù)器資源。資源緊張,數(shù)據(jù)庫(kù)又需要各自盡量獨(dú)立地提供服務(wù),而且需要主從復(fù)制等技術(shù),多實(shí)例為最佳首選。
弊端:
存在資源相互搶占的問(wèn)題。
當(dāng)某個(gè)數(shù)據(jù)庫(kù)實(shí)例并發(fā)很高,或有SQL慢查詢時(shí),整個(gè)實(shí)例會(huì)消耗大量的系統(tǒng)CPU、磁盤(pán)IO等資源,導(dǎo)致服務(wù)器上其他數(shù)據(jù)庫(kù)實(shí)例提供服務(wù)的質(zhì)量一起下降。
適用場(chǎng)景:
(1)資源緊張型的企業(yè)選擇。
少量服務(wù)器部署多個(gè)實(shí)例,交叉做主從復(fù)制、數(shù)據(jù)備份及讀寫(xiě)分離。
(2)并發(fā)訪問(wèn)不是特別大的業(yè)務(wù)。
當(dāng)訪問(wèn)量不大的時(shí)候,服務(wù)器的資源基本上都浪費(fèi)了,適合多實(shí)例部署,即使并發(fā)很大,合理分配系統(tǒng)資源,搭配服務(wù),也不會(huì)有太大問(wèn)題。
(3)門(mén)戶網(wǎng)站較多適用多實(shí)例。
硬件配置好的服務(wù)器,可節(jié)省IDC機(jī)柜空間,同時(shí)跑多實(shí)例也會(huì)減少硬件資源跑不滿浪費(fèi)。
部署方案
1、單一配置文件單一啟動(dòng)程序部署(使用mysqld_multi部署)
此方案使用單一配置文件,不好管理,耦合度太高,不推薦使用此方案!
2、多配置文件多啟動(dòng)程序部署方案
(1)部署規(guī)劃:實(shí)例3306:
/data/mysql/mysql3306/data/data/mysql/mysql3306/my.cnf
實(shí)例3307:
/data/mysql/mysql3307/data/data/mysql/mysql3307/my.cnf
說(shuō)明:MySQL數(shù)據(jù)庫(kù)的安裝請(qǐng)參考MySQL5.7編譯安裝詳解。
(2)啟動(dòng)停止命令:
#mysqld_safe --defaults-file=/data/mysql/mysql3306/my.cnf 2>&1 > /dev/null &
#mysqld_safe --defaults-file=/data/mysql/mysql3307/my.cnf 2>&1 > /dev/null &
#mysqladmin -uroot -pxxx -S /data/mysql/mysql3306/mysql.sock shutdown
#mysqladmin -uroot -pxxx -S /data/mysql/mysql3307/mysql.sock shutdown