更新時(shí)間:2020-08-10 12:32:43 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1515次
相信大家對(duì)MySQL多少都會(huì)有一些了解,利用MySQL自身提供的主從復(fù)制技術(shù),在企業(yè)生產(chǎn)場(chǎng)景中,可以很好的對(duì)數(shù)數(shù)據(jù)進(jìn)行多處自動(dòng)備份,并且實(shí)現(xiàn)數(shù)據(jù)庫(kù)的擴(kuò)展。比如:在做定時(shí)備份時(shí),備份的過程可能需要鎖表操作,在備份鎖表期間,用戶無法訪問數(shù)據(jù),雖然可以選擇在業(yè)務(wù)低谷期進(jìn)行備份,但是多少都會(huì)有影響,這時(shí)可以通過主從復(fù)制的從庫(kù)進(jìn)行鎖表備份。那么,MySQL主從復(fù)制原理是怎樣的?這個(gè)問題就由動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編來告訴大家。
下面我們來了解一下主從復(fù)制的過程,主從復(fù)制過程存在三個(gè)線程,Master端的I/O線程,Slave的I/O線程與SQL線程。Master端需要開啟binlog日志,Slave端需要開啟relay日志。
1、Slave端的I/O讀取master.info文件,獲取binlog文件名和位置點(diǎn),然后向Master端的I/O線程請(qǐng)求,該binlog文件名和位置點(diǎn)的binlog信息。
(master.info文件在配置主從復(fù)制時(shí)使用change master命令來指定生成)
2、Master端的I/O線程會(huì)根據(jù)Slave端的I/O線程請(qǐng)求的信息來讀取Master的binlog日志信息與及讀取到最新的binlog文件名和位置點(diǎn)一同返回給Slave的I/O線程。
3、Slave端的I/O線程會(huì)把獲取到的binlog日志寫入relay日志(中繼日志)文件中,并且更新master.info文件信息。(把讀取到Master最新的binlog日志文件名和位置點(diǎn)更新到master.info文件中,下一次當(dāng)前位置去讀取Master的binlog日志)
4、Slave端的SQL線程會(huì)定期讀取relay日志,把二進(jìn)制的日志解析成SQL語(yǔ)句,并執(zhí)行這些SQL語(yǔ)句,同步數(shù)據(jù)到從庫(kù)中。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“MySQL主從復(fù)制原理之過程講解”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743