MySQL數(shù)據(jù)庫中怎么實現(xiàn)復(fù)制操作,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
MySQL數(shù)據(jù)庫復(fù)制操作大致可以分為三個步驟:
步驟1:主服務(wù)器將數(shù)據(jù)的改變記錄到二進(jìn)制日志中。
步驟2:從服務(wù)器將主服務(wù)器的binary log events復(fù)制到它的中繼日志(relay log)中。
步驟3:從服務(wù)器重做中繼日志中的事件,將數(shù)據(jù)的改變與從服務(wù)器保持同步。
詳細(xì)步驟如下:
首先,主服務(wù)器會記錄二進(jìn)制日志,每個事務(wù)更新數(shù)據(jù)完成之前,主服務(wù)器將這些操作的信息記錄在二進(jìn)制日志里面,在事件寫入二進(jìn)制日志完成后,主服務(wù)器通知存儲引擎
提交事務(wù)。
Slave上面的I/O進(jìn)程連接上Master,并發(fā)出日志請求,Master接收到來自Slave的IO進(jìn)程的請求后,通過負(fù)責(zé)復(fù)制的IO進(jìn)程根據(jù)請求信息讀取制定日志指定位置之后的日志信息,
返回給Slave的IO進(jìn)程。返回信息中除了日志所包含的信息之外,還包括本次返回的信息已經(jīng)到Master端的bin-log文件的名稱已經(jīng)bin-log的位置。
Slave的I/O進(jìn)程接收到信息后,將接收到的日志內(nèi)容依次添加到Slave端的relay-log文件的最末端,并將讀取到Master端的bin-log的文件和位置記錄到master-info文件中。
Slave的SQL進(jìn)程檢測到replay-log中新增了內(nèi)容后,會馬上解析replay-log的內(nèi)容成為在Master端真實執(zhí)行時候的那些可執(zhí)行的內(nèi)容,并在自身執(zhí)行。
MySQL的復(fù)制環(huán)境90%以上都是一個Master帶一個或者多個Slave的架構(gòu)模式,如果master和slave的壓力不是太大的話,異步
復(fù)制的延時一般都很少。尤其是slave端的復(fù)制方式改成兩個進(jìn)程處理以后,更是減小了slave端的延時。
備注:對于數(shù)據(jù)實時性要求不是特別嚴(yán)格的應(yīng)用,只需要通過廉價的PC服務(wù)器來擴(kuò)展slave的數(shù)量,將讀壓力分散到多臺slave
的機(jī)器上面,即可解決數(shù)據(jù)庫端的讀壓力瓶頸。這在很大程度上解決了目前很多中小企業(yè)網(wǎng)站的數(shù)據(jù)庫壓力瓶頸問題,甚至有些
大型網(wǎng)站也在使用類似方案解決MySQL數(shù)據(jù)庫瓶頸。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
本文名稱:MySQL數(shù)據(jù)庫中怎么實現(xiàn)復(fù)制操作-創(chuàng)新互聯(lián)
地址分享:http://aaarwkj.com/article38/cdhosp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、動態(tài)網(wǎng)站、標(biāo)簽優(yōu)化、網(wǎng)站建設(shè)、面包屑導(dǎo)航、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容