本篇內(nèi)容介紹了“MySQL同步是什么意思”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供多倫網(wǎng)站建設(shè)、多倫做網(wǎng)站、多倫網(wǎng)站設(shè)計、多倫網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、多倫企業(yè)網(wǎng)站模板建站服務(wù),十載多倫做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
Mysql 的Replication 是一個異步的復(fù)制過程,從一個Mysql instace(我們稱之為Master)復(fù)制到另一個Mysql instance(我們稱之Slave)。在Master 與Slave 之間的實現(xiàn)整個復(fù)制過程主要由三個線程來完成,其中兩個線程(Sql 線程和IO 線程)在Slave 端,另外一個線程(IO 線程)在Master 端。要實現(xiàn)MySQL 的Replication ,首先必須打開Master 端的Binary Log(bin.xxxxxx)功能,否則無法實現(xiàn)。
1. Slave 上面的IO 線程連接上Master,并請求從指定日志文件的指定位置(或者從最開始的日志)之后的日志內(nèi)容;
2. Master 接收到來自Slave 的IO 線程的請求后,通過負(fù)責(zé)復(fù)制的IO 線程根據(jù)請求信息讀取指定日志指定位置之后的日志信息,返回給Slave 端的IO 線程。返回信息中除了日志所包含的信息之外,還包括本次返回的信息在Master 端的Binary Log文件的名稱以及在Binary Log 中的位置;
3. Slave 的IO 線程接收到信息后,將接收到的日志內(nèi)容依次寫入到Slave 端的Relay Log 文件(mysql-relay-bin.xxxxxx)的最末端,并將讀取到的Master 端的binlog的文件名和位置記錄到master-info 文件中,以便在下一次讀取的時候能夠清楚的高速Master“我需要從某個bin-log 的哪個位置開始往后的日志內(nèi)容,請發(fā)給我”
4. Slave 的SQL 線程檢測到Relay Log 中新增加了內(nèi)容后,會馬上解析該Log 文件中的內(nèi)容成為在Master 端真實執(zhí)行時候的那些可執(zhí)行的Query 語句,并在自身執(zhí)行這些Query。這樣,實際上就是在Master 端和Slave 端執(zhí)行了同樣的Query,所以兩端的數(shù)據(jù)是完全一樣的。
“mysql同步是什么意思”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!