在實際生產環境中,部署和實現具有一定負載均衡功能的 MySQL服務器集群,對于提高用戶數據庫應用系統的性能、速度和穩定性具有明顯的作用。本文簡要介紹了在 FreeBSD 7.0-Release系統上部署實現MySQL服務器集群的方案,并對可能出現的問題提供了相應的解決方法。
1. 引言
MySQL是一個高速度、高性能、多線程、開放源代碼,建立在客戶/服務器(Client /Server)結構上的關系型數據庫管理系統(RDBMS)。它始于1979年,最初是Michael Widenius為瑞典TcX公司創建的UNIREG數據庫系統,當時的UNIREG沒有SQL(Structured Query Language結構化查詢語言)接口,限制了它的應用。1996年5月,Widenius開發出了MySQL的最初版本,開始在Internet上公開發行。MySQL的開發人員從一開始就一直關注它的性能,為此不惜特性集,直到今天,MySQL依然保持本色,以高速度高性能為首要原則。隨著時間的推移,MySQL也加入了大型數據庫產品的高級特性,如存儲過程、視圖、觸發器等,使其在企業級數據庫系統中開始被部署應用[1]。2008年10 月,SUN公司收購了MySQL AB公司,開始進入開源領域。隨著重量級操作系統Solaris的開源,SUN MySQL在數據庫市場占有的份額將會進一步提高。因此,在生產環境中部署具有負載均衡功能的MySQL服務器集群,對于提高企業數據庫應用系統的速度、穩定性及可伸縮性具有很大的現實意義,也可以有效降低應用系統的投資成本。本文將以FreeBSD 7.0-Release操作系統為例,利用MySQL數據庫的復制(Replication)特性,簡要介紹部署MySQL服務器集群的實現方法和相關注意事項。
2. 系統模型
本集群的結構為一個主MySQL服務器(Master)服務器與多個從屬 MySQL服務器(Slave)建立復制(replication)連接,主服務器與從屬服務器實現一定程度上的數據同步,多個從屬服務器存儲相同的數據副本,實現數據冗余,提供容錯功能。部署開發應用系統時,對數據庫操作代碼進行優化,將寫操作(如UPDATE、INSERT)定向到主服務器,把大量的查詢操作(SELECT)定向到從屬服務器,實現集群的負載均衡功能。如果主服務器發生故障,從屬服務器將轉換角色成為主服務器,使應用系統為終端用戶提供不間斷的網絡服務;主服務器恢復運行后,將其轉換為從屬服務器,存儲數據庫副本,繼續對終端用戶提供數據查詢檢索服務。
3. 部署實現
本文以一臺主服務器帶三臺從屬服務器為例,簡要介紹MySQL服務器集群的實現方案和具體方法步驟。
3.1 系統部署
由于FreeBSD系統對機器硬件要求較低,出于降低系統部署成本考慮,主服務器和從屬服務器操作系統均采用FreeBSD 7.0-Release,并采用最小化定制安裝,完成以后系統占用磁盤空間僅為254M(不計swap分區所占空間,它隨具體機器內存容量的變化而變化)。為充分發揮系統硬件性能,MySQL數據庫采用源代碼編譯安裝。
3.1.1 安裝FreeBSD系統
在主服務器和從屬服務器上安裝FreeBSD 7.0-Release,具體安裝方法步驟不是本文主要內容,在此略過,如有疑問可以參考FreeBSD系統手冊。需要說明的是為方便用戶系統運行期間的維護管理,要打開系統的SSH服務功能,系統安裝配置期間允許root用戶遠程登錄,正常運行以后要關閉root用戶的遠程登錄功能。在/etc/ssh /sshd_config配置文件中對PermitRootLogin設置為yes為允許root用戶遠程登錄到系統,設置為no即為不允許。修改保存文件后執行kill
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com