999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MySQL組復(fù)制技術(shù)數(shù)據(jù)備份策略實(shí)現(xiàn)

2018-04-11 01:57:10重慶電子工程職業(yè)學(xué)院計(jì)算機(jī)學(xué)院朱崇來(lái)
電子世界 2018年6期
關(guān)鍵詞:數(shù)據(jù)庫(kù)

重慶電子工程職業(yè)學(xué)院 計(jì)算機(jī)學(xué)院 朱崇來(lái)

0.引言

MySQL作為一款開源的關(guān)系型數(shù)據(jù)庫(kù),一直以來(lái)是中小企業(yè)的數(shù)據(jù)存儲(chǔ)中心,MySQL采用數(shù)據(jù)復(fù)制技術(shù)實(shí)現(xiàn)數(shù)據(jù)備份與容災(zāi)。

MySQL5.5之前一直采用的是異步復(fù)制技術(shù),主庫(kù)在事務(wù)執(zhí)行時(shí),不會(huì)考慮從庫(kù)的數(shù)據(jù)備份同步問(wèn)題,一旦主庫(kù)崩潰或是從庫(kù)落后備份,就會(huì)造成數(shù)據(jù)不一致。

MySQL5.5引入了半同步復(fù)制技術(shù),主庫(kù)在提交客戶端事務(wù)時(shí),必須要保證至少有一個(gè)從庫(kù)接收并寫到relaylog中。由于MySQL半同步復(fù)制的實(shí)現(xiàn)是建立在MySQL異步復(fù)制的基礎(chǔ)上的,在網(wǎng)絡(luò)出現(xiàn)異常或者不穩(wěn)定下,如果從庫(kù)沒(méi)有收到事務(wù),也就是還沒(méi)有寫入到relay log 之前,此時(shí)剛好主庫(kù)崩潰了,系統(tǒng)切換到從機(jī),兩邊的數(shù)據(jù)就會(huì)出現(xiàn)不一致。 在此情況下,半同步復(fù)制退化成異步復(fù)制。這也是MySQL半同步復(fù)制存在的問(wèn)題。

在2016年,MySQL在5.7引入了MySQL Group Replication是MySQL官方推出的一種基于Paxos協(xié)議的狀態(tài)機(jī)復(fù)制。簡(jiǎn)而言之,就是“一個(gè)組提交的事務(wù)都是可以并行回滾”,這些事務(wù)都已進(jìn)入到事務(wù)的prepare階段,則說(shuō)明事務(wù)之間沒(méi)有任何沖突(否則就不可能提交),進(jìn)一步提高數(shù)據(jù)復(fù)制的強(qiáng)一致性。

1.MySQLGroup Replication框架

MySQLGroup Replication是基于狀態(tài)機(jī)復(fù)制機(jī)制實(shí)現(xiàn)的,是一個(gè)MySQL插件,它建立在現(xiàn)有的MySQL復(fù)制基礎(chǔ)結(jié)構(gòu)上,集成了當(dāng)前的MySQL框架,它用到了binlog的緩存,slave應(yīng)用器,GTID,relay log,replication線程等服務(wù)基礎(chǔ)設(shè)施。MySQL Group Replication 的插件架構(gòu)如下圖1所示:

圖1 MySQL Group Replication 插件架構(gòu)

插件框架的最上層是隔離核心服務(wù)層的API接口層,上層用戶通過(guò)訪問(wèn)API接口與核心層的服務(wù)功能插件通信,包括server的啟動(dòng)、恢復(fù)、接受連接、提交事務(wù)等,組復(fù)制插件根據(jù)相應(yīng)接口的調(diào)用做出相應(yīng)的響應(yīng)動(dòng)作。

核心服務(wù)插件層由capture、applier、recovery三個(gè)組件組成,capture組件是負(fù)責(zé)追蹤正在執(zhí)行的事務(wù)的信息;applier組件負(fù)責(zé)將遠(yuǎn)程事務(wù)加載到本地執(zhí)行;recovery組件主要管理組內(nèi)節(jié)點(diǎn)的最新狀態(tài),執(zhí)行事務(wù)回滾,直到和組內(nèi)的其他節(jié)點(diǎn)保持一致。

Replication協(xié)議層模塊實(shí)現(xiàn)了replication協(xié)議的邏輯,邏輯功能包括:處理沖突檢測(cè)、接收并傳播事務(wù)到組內(nèi)去執(zhí)行。

Group communication API是通信工具集的一種高級(jí)抽象,主要提供Paxos協(xié)議變種的核心實(shí)現(xiàn),綁定了corosync的接口,該接口實(shí)際上是corosync到client API的一個(gè)隱式映射。

2.MySQLGroup Replication原理

MySQL組復(fù)制是一種可用于容錯(cuò)系統(tǒng)的技術(shù),它構(gòu)建在狀態(tài)機(jī)復(fù)制機(jī)制的基礎(chǔ)之上,并利用Paxos的原子廣播原理,實(shí)現(xiàn)多主機(jī)全更新的復(fù)制協(xié)議。復(fù)制組由多個(gè)節(jié)點(diǎn)構(gòu)造一個(gè)數(shù)據(jù)庫(kù)集群,組中的每個(gè)節(jié)點(diǎn)都可以獨(dú)立地執(zhí)行事務(wù)。所有讀寫(RW)事務(wù)只有在被組批準(zhǔn)后才會(huì)提交。只讀(RO)事務(wù)不需要在組內(nèi)協(xié)調(diào),可立即提交。當(dāng)一個(gè)事務(wù)在一個(gè)節(jié)點(diǎn)上提交之前,會(huì)在組內(nèi)自動(dòng)進(jìn)行原子性的廣播,告知其他節(jié)點(diǎn)變更了什么內(nèi)容、執(zhí)行了什么事務(wù),然后為該事務(wù)建立一個(gè)全局的序號(hào)。最終,通過(guò)Paxos來(lái)保證組內(nèi)事務(wù)數(shù)據(jù)一致。

Group Replication原子廣播的不是原始事務(wù)語(yǔ)句而是事務(wù)的Binlog Events。廣播模塊是嵌在事務(wù)執(zhí)行流程中的,不需要和客戶端交互。當(dāng)事務(wù)語(yǔ)句執(zhí)行完準(zhǔn)備提交時(shí),Group Replication會(huì)捕捉到事務(wù)的Binlog Events然后進(jìn)行原子廣播。

然而,不同的節(jié)點(diǎn)上執(zhí)行的事務(wù)之間有可能存在資源爭(zhēng)用,導(dǎo)致兩個(gè)不同的節(jié)點(diǎn)上并發(fā)執(zhí)行的事務(wù)發(fā)生沖突,因此在每個(gè)節(jié)點(diǎn)上都需要在Certify模塊進(jìn)行沖突檢測(cè),沖突檢測(cè)的過(guò)程是在每個(gè)模塊上單獨(dú)進(jìn)行的,不需要在各個(gè)節(jié)點(diǎn)之間交互,所有節(jié)點(diǎn)上的事務(wù)都是按照同樣的順序做的沖突檢測(cè)。所以任何一個(gè)事務(wù)在所有節(jié)點(diǎn)上的沖突檢測(cè)結(jié)果都是相同的。

從其工作的原理可以看出,Group Replication基于Paxos協(xié)議的一致性算法校驗(yàn)事務(wù)執(zhí)行是否有沖突,然后順序執(zhí)行事務(wù),達(dá)到最終的數(shù)據(jù)一致性。

3.基于Group Replication組復(fù)制實(shí)現(xiàn)

(1)MySQL 數(shù)據(jù)庫(kù)組復(fù)制環(huán)境準(zhǔn)備

本實(shí)驗(yàn)環(huán)境的操作系統(tǒng)為CentOS6.8操作系統(tǒng),MySQL 數(shù)據(jù)庫(kù)版本為 MySQL-5.7.17。三臺(tái)名為master01、master02、master03機(jī)器上安裝了 MySQL 數(shù)據(jù)庫(kù)的服務(wù)器,每一臺(tái)機(jī)器的配置如下表1所示。

表1 MySQL 數(shù)據(jù)庫(kù)組復(fù)制環(huán)境配置列表

(2)數(shù)據(jù)庫(kù)主配文件定義/etc/my.cnf, 下面只對(duì)主要參數(shù)作出說(shuō)明。

圖2 數(shù)據(jù)庫(kù)主配文件參數(shù)命令

(3)通道授權(quán),建立復(fù)制通道并授權(quán)。

圖3 數(shù)據(jù)庫(kù)授權(quán)命令

(4)安裝組復(fù)制插件,并啟動(dòng)。

(5)其余節(jié)點(diǎn)加入集群,其他節(jié)點(diǎn)按照2-4的步驟配置即可。

(6)集群驗(yàn)證∶創(chuàng)建測(cè)試數(shù)據(jù),進(jìn)行集群測(cè)試。在各個(gè)節(jié)點(diǎn)都能看到同步的測(cè)試數(shù)據(jù),說(shuō)明集群搭建成功。

4.總結(jié)

通過(guò)MySQL5.7的組復(fù)制實(shí)驗(yàn)測(cè)試結(jié)果表明:組復(fù)制模式配置比異步復(fù)制、半同步復(fù)制、簡(jiǎn)單高效。在組復(fù)制環(huán)境下,3臺(tái)MySQL實(shí)例組成的組復(fù)制結(jié)構(gòu)下,只要有1臺(tái)主機(jī)存活,整個(gè)MySQL服務(wù)就可用,在故障主機(jī)恢復(fù)之后,組復(fù)制會(huì)自動(dòng)同步數(shù)據(jù),恢復(fù)組復(fù)制狀態(tài),有效地提高了數(shù)據(jù)復(fù)制的一致性和可靠性。

[1]何小川. MySQL數(shù)據(jù)庫(kù)主從復(fù)制的實(shí)現(xiàn)[J].廣東通信技術(shù),2017(10).

[2]管文琦.金融行業(yè)MySQL數(shù)據(jù)庫(kù)可用方案的思考[J].中國(guó)金融電腦,2017(06).

[3]MySQL 5.5:Improving on the World’s Most Popular Open Source Database.Cabral,Sheeri K.Database Trends and Applications.2011:30.

猜你喜歡
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
兩種新的非確定數(shù)據(jù)庫(kù)上的Top-K查詢
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 无码啪啪精品天堂浪潮av| 色网在线视频| 这里只有精品国产| 国产成人艳妇AA视频在线| 福利国产微拍广场一区视频在线| 亚洲精品波多野结衣| 永久免费av网站可以直接看的| 欧美五月婷婷| 国产成人综合亚洲欧美在| 99精品在线看| 亚洲国产精品一区二区高清无码久久 | 欧美视频免费一区二区三区| 国产精品污污在线观看网站| 性69交片免费看| 国产精品尤物铁牛tv| 91精品久久久久久无码人妻| 国内精品手机在线观看视频| 免费一级α片在线观看| 精品精品国产高清A毛片| 欧美精品成人| 亚洲男女在线| 亚洲国产系列| yy6080理论大片一级久久| 免费不卡视频| 国产H片无码不卡在线视频| 国产精品女熟高潮视频| 精品视频福利| 欧美 国产 人人视频| 亚洲午夜国产精品无卡| 中文字幕欧美成人免费| 婷婷99视频精品全部在线观看| 国产成人免费高清AⅤ| 老司机精品99在线播放| 欧美一级黄片一区2区| 欧美国产在线一区| www.youjizz.com久久| 国产在线一二三区| 少妇精品在线| 国产h视频免费观看| 国产一区二区精品福利| 成人在线综合| 五月天久久婷婷| 91麻豆精品国产高清在线| 99久久精品免费观看国产| 99激情网| 中国特黄美女一级视频| 国产爽爽视频| 成人年鲁鲁在线观看视频| 经典三级久久| 亚洲视频影院| 91综合色区亚洲熟妇p| 国产微拍一区| 久久狠狠色噜噜狠狠狠狠97视色| 国产成人综合久久| 中文字幕不卡免费高清视频| 97精品久久久大香线焦| 综合色区亚洲熟妇在线| 日韩无码真实干出血视频| 最新精品久久精品| 亚欧成人无码AV在线播放| 四虎国产永久在线观看| 国产精品亚洲欧美日韩久久| 国产视频 第一页| 91视频区| 毛片最新网址| 全午夜免费一级毛片| 国产香蕉一区二区在线网站| 中文字幕无码av专区久久| 国产精品成人AⅤ在线一二三四| a欧美在线| 精品一区二区三区波多野结衣| 在线精品视频成人网| 六月婷婷综合| 欧美成人一级| 一区二区三区高清视频国产女人| 亚洲人成网站观看在线观看| 国产精品yjizz视频网一二区| 国产91无码福利在线| 四虎国产精品永久一区| 国产成人精品三级| 四虎精品国产永久在线观看| 91久久天天躁狠狠躁夜夜|