天天看點

mysql之 MySQL 主從基于position複制原理概述

1 、主從複制簡介

MySQL 主從複制就是将一個 MySQL 執行個體(Master)中的資料實時複制到另一個 MySQL 實

例(slave)中,而且這個複制是一個異步複制的過程。

實作整個複制操作主要由三個程序完成的,其中兩個程序在 Slave(sql_thread 和

IO_thread),另外一個程序在 Master(IO 程序)上。

2 、主從複制 原理 、 機制

要實施複制,首先必須打開 Master 端的 binary log(bin-log)功能,否則無法實作。

因為整個複制過程實際上就是 Slave 從 Master 端擷取該日志然後再在自己身上完全順序的

執行日志中所記錄的各種操作。

複制的基本過程如下:

1)、Slave 上面的 IO_thread 連接配接上 Master,并請求從指定日志檔案的指定位置(或者

從最開始的日志)之後的日志内容;

2)、Master 接收到來自 Slave 的 IO_thread 的請求後,通過負責複制的 IO 程序根據請

求資訊讀取指定日志指定位置之後的日志資訊,傳回給 Slave 的 IO_thread。傳回資訊中除

了日志所包含的資訊之外,還包括本次傳回的資訊已經到 Master 端的 bin-log file 的以及

bin-log pos;

3)、Slave 的 IO_thread 接收到資訊後,将接收到的日志内容依次添加到 Slave 端的

relay-log 檔案的最末端,并将讀取到的 Master 端的 bin-log 的檔案名和位置記錄到

master-info 檔案中,以便在下一次讀取的時候能夠清楚的告訴 Master“我需要從某個

bin-log 的哪 個位置開始往後的日志内容,請發給我”;

4)、Slave 的 Sql_thread 檢測到 relay-log 中新增加了内容後,會馬上解析 relay-log

的内容成為在 Master 端真實執行時候的那些可執行的内容,并在本資料庫中執行。

3 、主從複制 原理圖

mysql之 MySQL 主從基于position複制原理概述
mysql之 MySQL 主從基于position複制原理概述

文章可以轉載,必須以連結形式标明出處。

本文轉自 張沖andy 部落格園部落格,原文連結:  http://www.cnblogs.com/andy6/p/6974136.html ,如需轉載請自行聯系原作者