MYSQL AB复制原理
?Mysql復制(replication)是一個異步的復制,從一個Mysql instace(稱之為Master)復制到另一個Mysql instance(稱之Slave)。實現整個復制操作主要由三個進程完成的,其中兩個進程在Slave(Sql進程和IO進程),另外一個進程在 Master(IO進程)上。
?
要實施復制,首先必須打開Master端的binary log(bin-log)功能,否則無法實現。因為整個MySQL 復制過程實際上就是Slave從Master端獲取該日志然后再在自己身上完全順序的執行日志中所記錄的各種操作。
復制的基本過程如下:
?
1)、Slave上面的IO進程連接上Master,并請求從指定日志文件的指定位置(或者從最開始的日志)之后的日志內容;
?
2)、Master接收到來自Slave的IO進程的請求后,通過負責復制的IO進程根據請求信息讀取指定日志指定位置之后的日志信息,返回給Slave 的IO進程。返回信息中除了日志所包含的信息之外,還包括本次返回的信息已經到Master端的bin-log文件的名稱以及bin-log的位置;
?
3)、Slave的IO進程接收到信息后,將接收到的日志內容依次添加到Slave端的relay-log文件的最末端,并將讀取到的Master端的 bin-log的文件名和位置記錄到master-info文件中,以便在下一次讀取的時候能夠清楚的告訴Master“我需要從某個bin-log的哪個位置開始往后的日志內容,請發給我”;
?
4)、Slave的Sql進程檢測到relay-log中新增加了內容后,會馬上解析relay-log的內容成為在Master端真實執行時候的那些可執行的內容,并在自身執行。
轉載于:https://blog.51cto.com/xiangjishi/732828
總結
以上是生活随笔為你收集整理的MYSQL AB复制原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AIX errdemon 命令
- 下一篇: 《面向模式的软件体系结构2-用于并发和网