共計 941 個字符,預計需要花費 3 分鐘才能閱讀完成。
本篇內容介紹了“mysql 同步是什么意思”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Mysql 的 Replication 是一個異步的復制過程,從一個 Mysql instace(我們稱之為 Master)復制到另一個 Mysql instance(我們稱之 Slave)。在 Master 與 Slave 之間的實現整個復制過程主要由三個線程來完成,其中兩個線程(Sql 線程和 IO 線程)在 Slave 端,另外一個線程(IO 線程)在 Master 端。要實現 MySQL 的 Replication,首先必須打開 Master 端的 Binary Log(bin.xxxxxx)功能,否則無法實現。
1. Slave 上面的 IO 線程連接上 Master,并請求從指定日志文件的指定位置(或者從最開始的日志)之后的日志內容;
2. Master 接收到來自 Slave 的 IO 線程的請求后,通過負責復制的 IO 線程根據請求信息讀取指定日志指定位置之后的日志信息,返回給 Slave 端的 IO 線程。返回信息中除了日志所包含的信息之外,還包括本次返回的信息在 Master 端的 Binary Log 文件的名稱以及在 Binary Log 中的位置;
3. Slave 的 IO 線程接收到信息后,將接收到的日志內容依次寫入到 Slave 端的 Relay Log 文件 (mysql-relay-bin.xxxxxx) 的最末端,并將讀取到的 Master 端的 binlog 的文件名和位置記錄到 master-info 文件中,以便在下一次讀取的時候能夠清楚的高速 Master“我需要從某個 bin-log 的哪個位置開始往后的日志內容,請發給我”
4. Slave 的 SQL 線程檢測到 Relay Log 中新增加了內容后,會馬上解析該 Log 文件中的內容成為在 Master 端真實執行時候的那些可執行的 Query 語句,并在自身執行這些 Query。這樣,實際上就是在 Master 端和 Slave 端執行了同樣的 Query,所以兩端的數據是完全一樣的。
“mysql 同步是什么意思”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!