Mysql復(fù)制定義及解析-創(chuàng)新互聯(lián)

在西秀等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都網(wǎng)站制作 網(wǎng)站設(shè)計制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站制作,西秀網(wǎng)站建設(shè)費用合理。

下文內(nèi)容主要給大家?guī)鞰ysql復(fù)制定義及解析,這里所講到的知識,與書籍略有不同,都是創(chuàng)新互聯(lián)專業(yè)技術(shù)人員在與用戶接觸過程中,總結(jié)出來的,具有一定的經(jīng)驗分享價值,希望給廣大讀者帶來幫助。

Master/Slave

Master: write/read,寫操作都在主節(jié)點上操作

Slaves: read,讀操作都是從節(jié)點這邊發(fā)出

為什么要復(fù)制?

冗余:promte(提升為主),異地災(zāi)備,可以通過人工或者工具程序(MHA)實現(xiàn)

擴展:轉(zhuǎn)移一部分“讀”請求;

支援安全的備份操作;

測試需要;

主/從架構(gòu)實現(xiàn):

Mysql復(fù)制定義及解析

在主節(jié)點上啟用二進制日志,從節(jié)點啟動連接線程,請求主節(jié)點把這個事件發(fā)給自己一份,從節(jié)點上有一個線程叫IO Thread,主節(jié)點上啟用dump thread,IO Thread從節(jié)點將接受到的日志存儲到中繼日志,從云服務(wù)器上的SQL THread負責(zé)從中繼日志里生成一份數(shù)據(jù)。這樣的數(shù)據(jù)同步方式是異步。主服務(wù)器負責(zé)寫操作,從服務(wù)器負責(zé)讀操作。

主從有可能導(dǎo)致主從數(shù)據(jù)不一致。如主服務(wù)多線程進程,從服務(wù)區(qū)是單線程進程,有可能導(dǎo)致主從數(shù)據(jù)不一致,從服務(wù)器的數(shù)據(jù)可能會落后于主服務(wù)器,這個問題是不可避免的,只能盡早發(fā)現(xiàn),將不正確的數(shù)據(jù)手動更改,如果數(shù)據(jù)差別很大,手動恢復(fù)很難,可以在主服務(wù)器上做備份,把數(shù)據(jù)直接回復(fù)到從服務(wù)器上。

主服務(wù)器存到二進制log,存到從服務(wù)器上是異步操作的。傳輸是單向的。但是這里有個問題,如果寫操作超出主服務(wù)器的性能,解決方法,使用雙主模型

主從復(fù)制的三種形式:同步復(fù)制,異步復(fù)制,半同步復(fù)制

同步復(fù)制:

        雙主模型:寫操作都在本地寫,同步給另一個節(jié)點,放到relay中。

主服務(wù)器都要啟動中繼日志和二進制日志,所有發(fā)給本節(jié)點的寫操作,都要記錄到二進制日志中,并通過dump thread發(fā)給對端主服務(wù)器,對端主服務(wù)器通過io thread將收到的數(shù)據(jù)存儲到中繼日志中,并依靠sql thread實現(xiàn)重放。主節(jié)點實現(xiàn)了冗余。每個節(jié)點都可以讀和寫操作。這種操作可以降低讀請求,每個服務(wù)器負載一半的請求,但是寫操作的請求數(shù)量是一樣的,因為,雙主的服務(wù)器都要寫入一份數(shù)據(jù)。

利用中間件的讀寫分離器實現(xiàn)請求讀寫分離,中間件可以利用keepalive實現(xiàn)冗余。但是有了雙主模型,就不需要讀寫分離,只需要用haproxy或者nginx或者lvs來實現(xiàn)請求的四層調(diào)度將請求調(diào)度到不同服務(wù)器上即可。

mysql主從復(fù)制弊端可能運行一段時間后,根據(jù)業(yè)務(wù)邏輯的不一樣,可能導(dǎo)致主從數(shù)據(jù)不一致,導(dǎo)致得到的數(shù)據(jù)不一致。該情況在數(shù)據(jù)要求強一致的情況下是不允許存在的。

在主服務(wù)器上,操作是多線程并行的,但是記錄到二進制文件中是串行記錄,從服務(wù)器是單線程運行獲取數(shù)據(jù),這樣導(dǎo)致從服務(wù)器拉取數(shù)據(jù)的速度落后于主服務(wù)器,導(dǎo)致了數(shù)據(jù)的差異,長此以往會導(dǎo)致數(shù)據(jù)嚴重不一致。如果這里設(shè)置讀寫分離,可能導(dǎo)致從服務(wù)器上讀出的數(shù)據(jù)是錯誤的。雙主模型同樣有這個問題。主從數(shù)據(jù)不一致,建議解決辦法是手動修改數(shù)據(jù)。如果數(shù)據(jù)差別太大,將從服務(wù)器關(guān)閉,在主服務(wù)器上做備份,恢復(fù)到從服務(wù)器上。

異步復(fù)制:

一主多從;

一從一主;

級聯(lián)復(fù)制;一主復(fù)制給一從,同時,這個從服務(wù)器又是其他服務(wù)器的主,其他從服務(wù)器到這個中繼服務(wù)器復(fù)制數(shù)據(jù),級聯(lián)的作用是降低主服務(wù)器的壓力。中間的這個從服務(wù)器要啟用二進制日志和中繼日志,同時,中間這臺從服務(wù)器僅起到過渡的作用,不需要保存數(shù)據(jù),因此將block hole引擎用于這個中間從服務(wù)器上,使得不會產(chǎn)生數(shù)據(jù)保存,但是中繼日志和二進制日志都有正常保存,起到過渡的效果。

循環(huán)復(fù)制;多主模式下,采用循環(huán)復(fù)制,但是鏈條更長,可能導(dǎo)致數(shù)據(jù)落后嚴重。

雙主復(fù)制;

半同步復(fù)制:

一從多主模型:每個主服務(wù)器提供不同的數(shù)據(jù)庫,master只保證slaves中的一個操作成功,就返回,其他slave不管。這個功能,是由google為MYSQL引入的。

對于以上關(guān)于Mysql復(fù)制定義及解析,如果大家還有更多需要了解的可以持續(xù)關(guān)注我們創(chuàng)新互聯(lián)的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R更新。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞名稱:Mysql復(fù)制定義及解析-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://muchs.cn/article22/dhoccc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航定制開發(fā)、電子商務(wù)、用戶體驗、軟件開發(fā)品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)