1.mysql主從
1.主伺服器記錄資料變更:
當主伺服器接收到寫操作(如 INSERT、UPDATE、DELETE)時,它將這些操作的變更資訊記錄到自己的二進位制日誌(Binary Log)中。二進位制日誌包含了所有對資料庫進行更改的記錄。
2.從伺服器連線到主伺服器:
從伺服器傳送dump 協議連線到主伺服器,並請求複製主伺服器上的二進位制日誌。從伺服器透過 CHANGE MASTER TO 命令設定複製連線的引數,包括主伺服器的主機名、埠、二進位制日誌檔名和位置等資訊。
3.從伺服器請求資料變更:
從伺服器傳送一個請求,請求從主伺服器獲取二進位制日誌中特定位置之後的所有變更資訊。
4.主伺服器傳送資料變更:
MySQL master 收到 dump 請求,開始推送 binary log 給 slave開始傳送二進位制日誌中的資料變更資訊給從伺服器。這些資料變更以事件的形式傳送,包括了對資料庫進行的 INSERT、UPDATE、DELETE 等操作。
5.從伺服器應用資料變更:
從伺服器接收到主伺服器傳送過來的資料變更後,將這些變更應用到自己的資料庫中。從伺服器會按照接收到的順序,逐個應用這些資料變更操作,從而保持與主伺服器資料的一致性。
6.複製程序持續執行:
一旦複製程序啟動併成功連線到主伺服器,它將持續執行,不斷地從主伺服器獲取新的資料變更並應用到從伺服器上。這樣就實現了主從之間的持續資料同步。
7.監控複製狀態:
管理員可以定期監控主從複製的狀態,包括複製程序是否在執行、延遲情況、複製錯誤等。透過監控複製狀態,可以及時發現並解決複製過程中的問題,確保資料的一致性和可靠性。