一種基于mysql的數(shù)據(jù)庫云及其建立方法【專利摘要】本發(fā)明涉及一種基于MYSQL的數(shù)據(jù)庫云及其建立方法,該數(shù)據(jù)庫云包括在云計算環(huán)境中兩臺宿主機的虛機上分別部署的MYSQL數(shù)據(jù)庫以及在宿主機外設置的高性能存儲設備,兩MYSQL數(shù)據(jù)庫均通過BONDING技術建立的網(wǎng)絡通信接口與高性能存儲設備相連,MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求后將用戶數(shù)據(jù)存儲于宿主機外設置的高性能存儲設備,MYSQL數(shù)據(jù)庫進行心跳檢測并且兩MYSQL數(shù)據(jù)庫實時同步。本發(fā)明所述數(shù)據(jù)庫云能夠實現(xiàn)數(shù)據(jù)庫的熱遷移快速部署,并提供高IO性能,還可以應對企業(yè)部分業(yè)務對數(shù)據(jù)庫多樣的需求?!緦@f明】—種基于MYSQL的數(shù)據(jù)庫云及其建立方法【
技術領域:
】[0001]本發(fā)明涉及數(shù)據(jù)庫【
技術領域:
】,特別是一種基于MYSQL的數(shù)據(jù)庫云及其建立方法?!?br>背景技術:
】[0002]企業(yè)對數(shù)據(jù)庫需求多樣,尤其對于不同配置、不同容量、不同功能的完全資源隔離數(shù)據(jù)庫產(chǎn)品的需求日益強烈,目前部署單一配置數(shù)據(jù)庫產(chǎn)品難以應付企業(yè)的多樣化需求。市場上存在的數(shù)據(jù)庫產(chǎn)品基本是部署在物理服務器內(nèi)的,這就導致遷移、備份和應對多種不同業(yè)務需求比較困難;若在云計算環(huán)境下的虛機上直接部署數(shù)據(jù)庫,形成的單純的數(shù)據(jù)庫系統(tǒng)的IO性能滿足不了需求,并且數(shù)據(jù)資源的安全性能也比較差。【
發(fā)明內(nèi)容】[0003]本發(fā)明針對現(xiàn)有技術在物理服務器內(nèi)部署數(shù)據(jù)庫導致遷移和應對多種不同業(yè)務需求困難而單純的虛機上部署數(shù)據(jù)庫系統(tǒng)IO性能無法滿足需求的問題,提供一種基于MYSQL的數(shù)據(jù)庫云,能夠實現(xiàn)數(shù)據(jù)庫的熱遷移快速部署,并提供高IO性能,還可以應對企業(yè)部分業(yè)務對數(shù)據(jù)庫多樣的需求。本發(fā)明還涉及一種基于MYSQL建立數(shù)據(jù)庫云的方法。[0004]本發(fā)明的技術方案如下:[0005]一種基于MYSQL的數(shù)據(jù)庫云,其特征在于,包括在云計算環(huán)境中兩臺宿主機的虛機上分別部署的MYSQL數(shù)據(jù)庫以及在宿主機外設置的高性能存儲設備,所述兩MYSQL數(shù)據(jù)庫均通過BONDING技術建立的網(wǎng)絡通信接口與高性能存儲設備相連,所述MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求后將用戶數(shù)據(jù)存儲于宿主機外設置的高性能存儲設備,所述MYSQL數(shù)據(jù)庫進行心跳檢測并且兩MYSQL數(shù)據(jù)庫實時同步。[0006]所述兩MYSQL數(shù)據(jù)庫以熱備模式工作,所述兩MYSQL數(shù)據(jù)庫分別為主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫,所述主MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求,并將用戶數(shù)據(jù)實時同步備份至備MYSQL數(shù)據(jù)庫,所述主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫均將用戶數(shù)據(jù)存儲至所述高性能存儲設備;所述備MYSQL數(shù)據(jù)庫在等待的狀態(tài)下對主MYSQL數(shù)據(jù)庫進行心跳檢測,在檢測到主MYSQL數(shù)據(jù)庫故障時進行數(shù)據(jù)庫主備切換進而由備MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求。[0007]所述兩MYSQL數(shù)據(jù)庫以雙主模式工作,所述兩MYSQL數(shù)據(jù)庫均為主MYSQL數(shù)據(jù)庫,所述兩主MYSQL數(shù)據(jù)庫均接收用戶的數(shù)據(jù)庫請求,并將用戶數(shù)據(jù)存儲至所述高性能存儲設備;所述兩主MYSQL數(shù)據(jù)庫相互心跳檢測并進行用戶數(shù)據(jù)的相互同步備份。[0008]所述數(shù)據(jù)庫云中的高性能存儲設備為SAN存儲設備或NAS分布式存儲設備。[0009]一種基于MYSQL建立數(shù)據(jù)庫云的方法,其特征在于,該方法先在云計算環(huán)境中兩臺宿主機的虛機上分別部署MYSQL數(shù)據(jù)庫,再通過MYSOL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求并由BONDING技術建立的網(wǎng)絡通信接口將用戶數(shù)據(jù)存儲于宿主機外設置的高性能存儲設備,所述MYSQL數(shù)據(jù)庫進行心跳檢測并利用BINLOG實現(xiàn)兩MYSQL數(shù)據(jù)庫實時同步。[0010]所述方法將兩MYSQL數(shù)據(jù)庫分別設置為主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫,所述主MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求并將用戶數(shù)據(jù)實時同步備份至備MYSQL數(shù)據(jù)庫,所述主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫均將用戶數(shù)據(jù)存儲至所述高性能存儲設備;所述備MYSQL數(shù)據(jù)庫在等待的狀態(tài)下對主MYSQL數(shù)據(jù)庫進行心跳檢測,在檢測到主MYSQL數(shù)據(jù)庫故障時進行數(shù)據(jù)庫主備切換進而由備MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求。[0011]所述方法將兩MYSQL數(shù)據(jù)庫均設置為主MYSQL數(shù)據(jù)庫,所述兩主MYSQL數(shù)據(jù)庫均接收用戶的數(shù)據(jù)庫請求,并將用戶數(shù)據(jù)存儲至所述高性能存儲設備;所述兩主MYSQL數(shù)據(jù)庫相互進行心跳檢測和用戶數(shù)據(jù)的相互同步備份。[0012]所述方法中的高性能存儲設備為SAN存儲設備或NAS分布式存儲設備。[0013]通過PLUGIN技術進行數(shù)據(jù)運維以處理用戶的數(shù)據(jù)延遲或丟失的情況。[0014]所述兩MYSQL數(shù)據(jù)庫在實時同步時對傳輸?shù)挠脩魯?shù)據(jù)進行加密。[0015]本發(fā)明的技術效果如下:[0016]本發(fā)明涉及一種基于MYSQL的數(shù)據(jù)庫云,包括在云計算環(huán)境中兩臺宿主機的虛機上分別部署的MYSQL數(shù)據(jù)庫以及在宿主機外設置的高性能存儲設備,該數(shù)據(jù)庫云是建立在兩臺虛機上形成的MYSQL雙機集群,并在接收用戶的數(shù)據(jù)庫請求后將數(shù)據(jù)存儲在高性能存儲設備上,使得數(shù)據(jù)庫存儲每秒可接受的隨機訪問的次數(shù)能夠大大提高,故解決了高IOPS問題,避免了現(xiàn)有技術直接在虛機上部署數(shù)據(jù)庫形成單純的虛機數(shù)據(jù)庫系統(tǒng)IO性能無法滿足要求的問題。該數(shù)據(jù)庫云通過一個MYSQL數(shù)據(jù)庫利用自身的功能心跳檢測另一MYSQL數(shù)據(jù)庫的正常運行,保證用戶的數(shù)據(jù)庫請求的響應服務,設置兩MYSQL數(shù)據(jù)庫實時同步,使得一個MYSQL數(shù)據(jù)庫在響應用戶的數(shù)據(jù)庫請求的同時可以通過對同步備份到另一MYSQL數(shù)據(jù)庫的用戶數(shù)據(jù)進行查看、處理等操作,而不影響在線上服務的MYSQL數(shù)據(jù)庫,保證用戶數(shù)據(jù)資源的安全性能,兩臺MYSQL數(shù)據(jù)庫分別運行于兩臺不同的宿主機的虛機上,避免了單點故障,盡而實現(xiàn)數(shù)據(jù)庫的負載均衡或讀寫分離,最大化保證了業(yè)務連續(xù)性和業(yè)務的性能。本發(fā)明的數(shù)據(jù)庫云建立于云計算環(huán)境,基于兩個MYSQL數(shù)據(jù)庫以及額外的高性能存儲設備共同配合工作,在增大數(shù)據(jù)庫容量的同時,能夠提高用戶數(shù)據(jù)資源隔離的高可用的數(shù)據(jù)庫性能,進一步增強了數(shù)據(jù)資源的安全性,又解決了單純的虛機數(shù)據(jù)庫性能不足的問題,還能夠避免物理服務器數(shù)據(jù)庫存在遷移備份困難又無法面對不同業(yè)務需求的問題,在云計算環(huán)境下可以迅速遷移和備份虛機上的MYSQL數(shù)據(jù)庫形成新的數(shù)據(jù)庫云,直接將虛機上的MYSQL數(shù)據(jù)庫遷移到要部署的網(wǎng)絡中即可,靈活性好,達到熱遷移快速部署數(shù)據(jù)庫產(chǎn)品的效果,且不需要再購買或搬移其它硬件,降低了人力、安裝時間、安裝成本和安裝資源。本發(fā)明所述的數(shù)據(jù)庫云可以為企業(yè)提供多樣的數(shù)據(jù)庫服務器,進而應對企業(yè)部分業(yè)務對數(shù)據(jù)庫多樣化的需求。[0017]根據(jù)企業(yè)的多樣化需求,將本發(fā)明的數(shù)據(jù)庫云中的兩MYSQL數(shù)據(jù)庫設置為熱備模式或雙主模式工作。在熱備模式下形成主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫,主MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求,備MYSQL數(shù)據(jù)庫處于等待狀態(tài)并對主MYSQL數(shù)據(jù)庫進行心跳檢測,在檢測到主MYSQL數(shù)據(jù)庫故障時進行數(shù)據(jù)庫主備切換進而由備MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求,這種熱備模式工作的數(shù)據(jù)庫云適用于數(shù)據(jù)庫寫入存儲壓力不大的情況,能夠節(jié)約用戶數(shù)據(jù)資源。對于數(shù)據(jù)庫寫入存儲壓力大的情況,數(shù)據(jù)庫云以雙主模式工作,兩MYSQL形成兩個主MYSQL數(shù)據(jù)庫,這兩個主MYSQL數(shù)據(jù)庫均接收用戶的數(shù)據(jù)庫請求,相互心跳檢測并進行用戶數(shù)據(jù)的相互同步備份,完成兩臺數(shù)據(jù)庫節(jié)點同時應對業(yè)務訪問,能夠提高數(shù)據(jù)庫工作效率。本發(fā)明的數(shù)據(jù)庫云中的兩MYSQL數(shù)據(jù)庫以熱備方式或雙主模式工作,結合以運維腳本實現(xiàn)數(shù)據(jù)庫的高可用性,進一步保證了業(yè)務連續(xù)性和業(yè)務的性能。[0018]本發(fā)明還涉及一種基于MYSQL建立數(shù)據(jù)庫云的方法,先在云計算環(huán)境中兩臺宿主機的虛機上分別部署MYSQL數(shù)據(jù)庫,通過MYSOL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求并由BONDING技術建立的網(wǎng)絡通信接口將用戶數(shù)據(jù)存儲于宿主機外設置的高性能存儲設備,該方法借助云計算環(huán)境,以兩臺宿主機上的虛機為單位,部署MYSQL雙機集群,將用戶數(shù)據(jù)存儲于額外的高性能存儲設備上,能夠解決IOPS問題,提高IO性能,利用MYSQL數(shù)據(jù)庫自帶的BINLOG快速高效地實現(xiàn)兩MYSQL數(shù)據(jù)庫實時同步,保證了用戶數(shù)據(jù)資源的完整性,兩臺MYSQL數(shù)據(jù)庫分別運行于兩臺不同的宿主機的虛機上,避免了單點故障,設置兩MYSQL數(shù)據(jù)庫以熱備方式或雙主模式工作,結合以運維腳本實現(xiàn)數(shù)據(jù)庫的高可用性,盡而實現(xiàn)數(shù)據(jù)庫的負載均衡或讀寫分離,最大化保證了業(yè)務連續(xù)性和業(yè)務的性能,并可以避免將數(shù)據(jù)庫部署在物理服務器或部署在虛機形成的單純的虛機數(shù)據(jù)庫系統(tǒng)導致的數(shù)據(jù)庫產(chǎn)品遷移困難且單一配置或IO性能無法滿足需求的問題,該數(shù)據(jù)庫云的解決方案同時避免現(xiàn)有技術的各方面的弊端,熱遷移快速部署數(shù)據(jù)庫產(chǎn)品,提供高IO性能和安全性能,并且能夠應對企業(yè)對數(shù)據(jù)庫的多樣化的需求。【專利附圖】【附圖說明】[0019]圖1是本發(fā)明基于MYSQL的數(shù)據(jù)庫云的結構示意圖。[0020]圖2是本發(fā)明基于MYSQL的數(shù)據(jù)庫云的一種優(yōu)選結構示意圖。[0021]圖3是本發(fā)明基于MYSQL的數(shù)據(jù)庫云的另一種優(yōu)選結構示意圖。[0022]圖4是本發(fā)明基于MYSQL建立數(shù)據(jù)庫云的方法的一種優(yōu)選流程圖。[0023]圖5是本發(fā)明基于MYSQL建立數(shù)據(jù)庫云的方法的另一種優(yōu)選流程圖。【具體實施方式】[0024]下面結合附圖對本發(fā)明進行說明。[0025]本發(fā)明涉及一種基于MYSQL的數(shù)據(jù)庫云,其結構如圖1所示,包括在云計算環(huán)境中兩臺宿主機的虛機上分別部署的MYSQL數(shù)據(jù)庫以及在宿主機外設置的高性能存儲設備,兩MYSQL數(shù)據(jù)庫均通過BONDING技術建立的網(wǎng)絡通信接口I與高性能存儲設備相連,MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求后將用戶數(shù)據(jù)存儲于宿主機外設置的高性能存儲設備,MYSQL數(shù)據(jù)庫進行心跳檢測并且兩MYSQL數(shù)據(jù)庫實時同步。[0026]根據(jù)不同企業(yè)的多樣化的需求,基于MYSQL的數(shù)據(jù)庫云可以有如圖2和圖3所示的優(yōu)選結構,這兩個實施例中的MYSQL數(shù)據(jù)庫分別以熱備模式和雙主模式工作,選擇的高性能存儲設備為SAN存儲設備,該SAN存儲設備為可以提供裸盤的高性能存儲設備,當然,也可以選擇為如NAS分布式存儲設備等其它高性能存儲設備。[0027]在圖2所示的實施例中,兩MYSQL數(shù)據(jù)庫以熱備模式工作,兩MYSQL數(shù)據(jù)庫分別為主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫,對于用戶的數(shù)據(jù)庫請求是由主MYSQL數(shù)據(jù)庫響應服務,而備MYSQL數(shù)據(jù)庫處于等待狀態(tài)。主MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求并將用戶數(shù)據(jù)實時同步備份至備MYSQL數(shù)據(jù)庫,主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫均將用戶數(shù)據(jù)通過BONDING技術建立的網(wǎng)絡通信接口I存儲至所述SAN存儲設備。備MYSQL數(shù)據(jù)庫在等待的狀態(tài)下對主MYSQL數(shù)據(jù)庫進行心跳檢測,以檢測其健康狀態(tài),在檢測到主MYSQL數(shù)據(jù)庫故障時進行數(shù)據(jù)庫主備切換進而由備MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求。當然,主MYSQL數(shù)據(jù)庫也可以對備MYSQL數(shù)據(jù)庫進行心跳檢測,以檢測備MYSQL數(shù)據(jù)庫的健康狀態(tài)。該實施例所述的熱備模式工作的數(shù)據(jù)庫云是一個MYSQL數(shù)據(jù)庫工作,一個MYSQL數(shù)據(jù)庫備用,適用于如網(wǎng)站訪問等等數(shù)據(jù)庫寫入存儲壓力不大的情況,該主備模式能夠節(jié)約用戶數(shù)據(jù)資源。[0028]在圖3所示的實施例中,兩MYSQL數(shù)據(jù)庫以雙主模式工作,兩MYSQL數(shù)據(jù)庫均為主MYSQL數(shù)據(jù)庫,對于用戶的數(shù)據(jù)庫請求這兩個主MYSQL數(shù)據(jù)庫均進行響應服務。這兩個主MYSQL數(shù)據(jù)庫均接收用戶的數(shù)據(jù)庫請求,相互進行心跳檢測并進行用戶數(shù)據(jù)的相互同步備份,即一個主MYSQL數(shù)據(jù)庫對另一個主MYSQL數(shù)據(jù)庫進行心跳檢測并將自己存儲的用戶數(shù)據(jù)同步備份至另一個主MYSQL數(shù)據(jù)庫,反之亦然。這兩個主MYSQL數(shù)據(jù)庫均將自己的用戶數(shù)據(jù)通過BONDING技術建立的網(wǎng)絡通信接口I存儲至所述SAN存儲設備。該實施例所述的雙主模式工作的數(shù)據(jù)庫云是兩個主MYSQL數(shù)據(jù)庫同時工作來完成兩臺數(shù)據(jù)庫節(jié)點同時應對業(yè)務訪問,適用于如銀行辦理存錢取錢業(yè)務等等數(shù)據(jù)庫寫入存儲壓力大的情況,該雙主模式能夠提高數(shù)據(jù)庫工作效率。[0029]本發(fā)明還涉及一種基于MYSQL建立數(shù)據(jù)庫云的方法,該方法也可以理解為是圖1-3所述的基于MYSQL的數(shù)據(jù)庫云的建立方法。本發(fā)明所述方法先在云計算環(huán)境中兩臺宿主機的虛機上分別部署MYSQL數(shù)據(jù)庫,再通過MYSOL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求進行響應服務,MYSQL數(shù)據(jù)庫進行心跳檢測并利用BINLOG實現(xiàn)兩MYSQL數(shù)據(jù)庫實時同步,由BONDING技術建立的網(wǎng)絡通信接口將用戶數(shù)據(jù)存儲于宿主機外設置的高性能存儲設備。基于MYSQL建立數(shù)據(jù)庫云的方法的核心原理是是借助云計算環(huán)境,以兩臺宿主機上的虛機為單位,部署MYSQL熱備模式或雙主模式的雙機集群的數(shù)據(jù)庫云,基于高性能存儲設備(如SAN存儲設備提供的裸盤)提高IO性能,使用BONDING技術建立的網(wǎng)絡通信接口,利用MYSQL數(shù)據(jù)庫自帶的BINLOG快速高效地實現(xiàn)兩MYSQL數(shù)據(jù)庫實時同步。[0030]本發(fā)明基于MYSQL建立數(shù)據(jù)庫云的方法,以兩個虛機內(nèi)分別部署熱備模式的MYSQL數(shù)據(jù)庫為例,一種優(yōu)選流程如圖4所示,包括如下步驟:[0031]A、在云計算環(huán)境中兩臺宿主機的虛機上分別部署MYSQL數(shù)據(jù)庫;[0032]B、將兩MYSQL數(shù)據(jù)庫分別設置為主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫;具體腳本操作包括修改主MYSQL數(shù)據(jù)庫(也可以稱為是主節(jié)點數(shù)據(jù)庫)和備MYSQL數(shù)據(jù)庫(也可以稱為備節(jié)點數(shù)據(jù)庫)的配置文件,在主節(jié)點數(shù)據(jù)庫創(chuàng)建備節(jié)點數(shù)據(jù)庫用戶并復制主節(jié)點數(shù)據(jù)庫的數(shù)據(jù)到備節(jié)點數(shù)據(jù)庫,即主節(jié)點數(shù)據(jù)庫授權備節(jié)點數(shù)據(jù)庫訪問數(shù)據(jù);[0033]C、主MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求,將用戶數(shù)據(jù)實時同步備份至備MYSQL數(shù)據(jù)庫;具體腳本操作是備節(jié)點數(shù)據(jù)庫在關閉庫的狀態(tài)下,進行修改動作后,實現(xiàn)兩MYSQL數(shù)據(jù)庫初始手動同步,啟動檢測狀態(tài);啟動庫進行狀態(tài)檢測,當腳本出現(xiàn)兩個Yes時,證明實時同步備份開始工作;[0034]SIave—IO—Running:Yes[0035]Slave—SQL—Running:Yes[0036]在主MYSQL數(shù)據(jù)庫添加用戶數(shù)據(jù)在從MYSQL數(shù)據(jù)庫檢驗,同步備份成功;[0037]D、對兩MYSQL數(shù)據(jù)庫進行健康檢查,通過心跳檢測執(zhí)行,主要包括備MYSQL數(shù)據(jù)庫對主MYSQL數(shù)據(jù)庫進行心跳檢測;在檢測到主MYSQL數(shù)據(jù)庫故障時,執(zhí)行步驟E,否則仍由主MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求,即返回步驟C并執(zhí)行步驟F,在執(zhí)行步驟C時省略其初始手動同步的步驟,直接將用戶數(shù)據(jù)實時同步備份至備MYSQL數(shù)據(jù)庫;[0038]E、在檢測到主MYSQL數(shù)據(jù)庫故障時通過內(nèi)置數(shù)據(jù)庫檢測腳本實現(xiàn)數(shù)據(jù)庫主備切換,由備MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求;[0039]F、無論是主MYSQL數(shù)據(jù)庫還是備MYSQL數(shù)據(jù)庫均將用戶數(shù)據(jù)通過BONDING技術建立的網(wǎng)絡通信接口存儲至高性能存儲設備如SAN存儲設備或NAS分布式存儲設備。[0040]圖5為本發(fā)明基于MYSQL建立數(shù)據(jù)庫云的方法的另一種優(yōu)選流程圖,仍以兩個虛機內(nèi)分別部署熱備模式的MYSQL數(shù)據(jù)庫為例,包括如下步驟:[0041]A、在云計算環(huán)境中兩臺宿主機的虛機上分別部署MYSQL數(shù)據(jù)庫;[0042]B、將兩MYSQL數(shù)據(jù)庫分別設置為主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫;[0043]C、兩MYSQL數(shù)據(jù)庫相互進行心跳檢測,主要包括備MYSQL數(shù)據(jù)庫對主MYSQL數(shù)據(jù)庫進行心跳檢測,備MYSQL數(shù)據(jù)庫對于用戶數(shù)據(jù)庫請求并不進行響應服務,而是處于等待狀態(tài);[0044]D、在檢測到主MYSQL數(shù)據(jù)庫正常時,由主MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求并將用戶數(shù)據(jù)實時同步備份至備MYSQL數(shù)據(jù)庫;[0045]E、在檢測到主MYSQL數(shù)據(jù)庫故障時通過內(nèi)置數(shù)據(jù)庫檢測腳本實現(xiàn)數(shù)據(jù)庫主備切換,由備MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求;[0046]F、無論是主MYSQL數(shù)據(jù)庫還是備MYSQL數(shù)據(jù)庫均將用戶數(shù)據(jù)通過BONDING技術建立的網(wǎng)絡通信接口存儲至高性能存儲設備如SAN存儲設備。[0047]本發(fā)明所述基于MYSQL建立數(shù)據(jù)庫云的方法中的心跳檢測和兩數(shù)據(jù)庫實時同步這兩個進程可以同時進行或先后進行。當然,還可后續(xù)增加步驟來處理意外情況,如網(wǎng)絡壓力大導致大量數(shù)據(jù)堵塞,或者是網(wǎng)絡不穩(wěn)定或意外中斷,心跳檢測出錯等情況,導致數(shù)據(jù)延遲或丟失或數(shù)據(jù)不一致,可以利用成熟的運維技術實現(xiàn)數(shù)據(jù)延遲或個別情況數(shù)據(jù)不一致的情況。從腳本上的操作是MYSQL在復制過程中會有復制不及時的現(xiàn)象,啟用備用解決方案,對主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫分配置腳本,由PLUGIN技術進行數(shù)據(jù)運維,如部分命令:[0048]INSTALLPLUGINrpl_semi_sync_masterSONAME‘semisync_master.so,;[0049]SHOffVARIABLESLIKE‘rpl_semi_sync_master_enabled’值為ON,表不開啟,否則檢查失敗原因;[0050]INSTALLPLUGINrpl_semi_sync_sIaveSONAME‘semisync_slave.so’;[0051]SHOffVARIABLESLIKE‘rpl_semi_sync_slave_enabled’值為ON,表不開啟;否則失敗檢查原因;[0052]防止主MYSQL數(shù)據(jù)庫意外崩潰產(chǎn)生的數(shù)據(jù)損失,主主MYSQL數(shù)據(jù)庫啟用sync_binlog選項。[0053]此外,優(yōu)選地,兩MYSQL數(shù)據(jù)庫在實時同步時可以對傳輸?shù)挠脩魯?shù)據(jù)進行加密,以預防用戶數(shù)據(jù)泄露的危險。[0054]除圖4所示實施例外,本發(fā)明基于MYSQL建立數(shù)據(jù)庫云的方法還可以在兩個虛機內(nèi)分別部署雙主模式的MYSQL數(shù)據(jù)庫,具體是將兩MYSQL數(shù)據(jù)庫均設置為主MYSQL數(shù)據(jù)庫,這兩主MYSQL數(shù)據(jù)庫均接收用戶的數(shù)據(jù)庫請求,并將用戶數(shù)據(jù)存儲至所述SAN存儲設備;兩主MYSQL數(shù)據(jù)庫相互進行心跳檢測和用戶數(shù)據(jù)的相互同步備份。從腳本操作是先在兩主MYSQL數(shù)據(jù)庫所在服務器(也可稱為虛機服務器)上各自建立一個具有復制權限的用戶,如果此時兩服務器為新創(chuàng)建,具無其它寫入操作,各服務器只需記錄當前自己二進制日志文件及事件位置,以之作為另外的服務器復制超始位置。各服務器接下來指定對另一臺服務器為自己的主服務器,如示例:[0055]Mysqll>changemastertol72.20.80.72,master—log—file=,a,,master—log—POS=Ill;[0056]Mysql2>changemastertol72.20.80.71,master—log—file=,b,,master—log_pos=222;[0057]雙主模式在業(yè)務中有較大風險,為了更好讓雙主模式服務于業(yè)務應用,可以采用更加專業(yè)的雙主解決方案mysql-mmm還有實現(xiàn)數(shù)據(jù)備份、節(jié)點之間重新同步功能的腳本。可以先配置mysql-mmm代理和監(jiān)控賬號的權限,mysql-mmm所有的配置選項都集合在了一個口1I!etc/mysql-mmm/mmm_common.conf的單獨文件中,啟動mmm,利用mmm_contro1監(jiān)控MYSQL數(shù)據(jù)庫所在服務器狀態(tài),測試看兩個服務器能否實現(xiàn)故障自動切換。解決數(shù)據(jù)不一致性問題,可以利用pt-table-checksum等命令,并且能實現(xiàn)自動故障轉移功能;通過mysqljk程序判斷數(shù)據(jù)庫可用性。[0058]應當指出,以上所述【具體實施方式】可以使本領域的技術人員更全面地理解本發(fā)明創(chuàng)造,但不以任何方式限制本發(fā)明創(chuàng)造。因此,盡管本說明書參照附圖和實施例對本發(fā)明創(chuàng)造已進行了詳細的說明,但是,本領域技術人員應當理解,仍然可以對本發(fā)明創(chuàng)造進行修改或者等同替換,總之,一切不脫離本發(fā)明創(chuàng)造的精神和范圍的技術方案及其改進,其均應涵蓋在本發(fā)明創(chuàng)造專利的保護范圍當中?!緳嗬蟆?.一種基于MYSQL的數(shù)據(jù)庫云,其特征在于,包括在云計算環(huán)境中兩臺宿主機的虛機上分別部署的MYSQL數(shù)據(jù)庫以及在宿主機外設置的高性能存儲設備,所述兩MYSQL數(shù)據(jù)庫均通過BONDING技術建立的網(wǎng)絡通信接口與高性能存儲設備相連,所述MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求后將用戶數(shù)據(jù)存儲于宿主機外設置的高性能存儲設備,所述MYSQL數(shù)據(jù)庫進行心跳檢測并且兩MYSQL數(shù)據(jù)庫實時同步。2.根據(jù)權利要求1所述的基于MYSQL的數(shù)據(jù)庫云,其特征在于,所述兩MYSQL數(shù)據(jù)庫以熱備模式工作,所述兩MYSQL數(shù)據(jù)庫分別為主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫,所述主MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求,并將用戶數(shù)據(jù)實時同步備份至備MYSQL數(shù)據(jù)庫,所述主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫均將用戶數(shù)據(jù)存儲至所述高性能存儲設備;所述備MYSQL數(shù)據(jù)庫在等待的狀態(tài)下對主MYSQL數(shù)據(jù)庫進行心跳檢測,在檢測到主MYSQL數(shù)據(jù)庫故障時進行數(shù)據(jù)庫主備切換進而由備MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求。3.根據(jù)權利要求1所述的基于MYSQL的數(shù)據(jù)庫云,其特征在于,所述兩MYSQL數(shù)據(jù)庫以雙主模式工作,所述兩MYSQL數(shù)據(jù)庫均為主MYSQL數(shù)據(jù)庫,所述兩主MYSQL數(shù)據(jù)庫均接收用戶的數(shù)據(jù)庫請求,并將用戶數(shù)據(jù)存儲至所述高性能存儲設備;所述兩主MYSQL數(shù)據(jù)庫相互心跳檢測并進行用戶數(shù)據(jù)的相互同步備份。4.根據(jù)權利要求1至3之一所述的基于MYSQL的數(shù)據(jù)庫云,其特征在于,所述高性能存儲設備為SAN存儲設備或NAS分布式存儲設備。5.一種基于MYSQL建立數(shù)據(jù)庫云的方法,其特征在于,該方法先在云計算環(huán)境中兩臺宿主機的虛機上分別部署MYSQL數(shù)據(jù)庫,再通過MYSOL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求并由BONDING技術建立的網(wǎng)絡通信接口將用戶數(shù)據(jù)存儲于宿主機外設置的高性能存儲設備,所述MYSQL數(shù)據(jù)庫進行心跳檢測并利用BINLOG實現(xiàn)兩MYSQL數(shù)據(jù)庫實時同步。6.根據(jù)權利要求5所述的基于MYSQL建立數(shù)據(jù)庫云的方法,其特征在于,將兩MYSQL數(shù)據(jù)庫分別設置為主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫,所述主MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求并將用戶數(shù)據(jù)實時同步備份至備MYSQL數(shù)據(jù)庫,所述主MYSQL數(shù)據(jù)庫和備MYSQL數(shù)據(jù)庫均將用戶數(shù)據(jù)存儲至所述高性能存儲設備;所述備MYSQL數(shù)據(jù)庫在等待的狀態(tài)下對主MYSQL數(shù)據(jù)庫進行心跳檢測,在檢測到主MYSQL數(shù)據(jù)庫故障時進行數(shù)據(jù)庫主備切換進而由備MYSQL數(shù)據(jù)庫接收用戶的數(shù)據(jù)庫請求。7.根據(jù)權利要求5所述的基于MYSQL建立數(shù)據(jù)庫云的方法,其特征在于,將兩MYSQL數(shù)據(jù)庫均設置為主MYSQL數(shù)據(jù)庫,所述兩主MYSQL數(shù)據(jù)庫均接收用戶的數(shù)據(jù)庫請求,并將用戶數(shù)據(jù)存儲至所述高性能存儲設備;所述兩主MYSQL數(shù)據(jù)庫相互進行心跳檢測和用戶數(shù)據(jù)的相互同步備份。8.根據(jù)權利要求5至7之一所述的基于MYSQL建立數(shù)據(jù)庫云的方法,其特征在于,所述高性能存儲設備為SAN存儲設備或NAS分布式存儲設備。9.根據(jù)權利要求8所述的基于MYSQL建立數(shù)據(jù)庫云的方法,其特征在于,通過PLUGIN技術進行數(shù)據(jù)運維以處理用戶的數(shù)據(jù)延遲或丟失的情況。10.根據(jù)權利要求5所述的基于MYSQL建立數(shù)據(jù)庫云的方法,其特征在于,所述兩MYSQL數(shù)據(jù)庫在實時同步時對傳輸?shù)挠脩魯?shù)據(jù)進行加密?!疚臋n編號】G06F17/30GK103473328SQ201310424570【公開日】2013年12月25日申請日期:2013年9月17日優(yōu)先權日:2013年9月17日【發(fā)明者】王貴宗,馬洪軍申請人:中電長城網(wǎng)際系統(tǒng)應用有限公司