mysql 複製的原理

2021-09-11 02:28:10 字數 466 閱讀 4624

mysql的複製原理大致如下:

主庫在資料提交時會把資料變更作為事件記錄在二進位制日誌檔案binlog中;可通過sync_binlog控制binlog日誌重新整理到磁碟的頻率;

主庫推送二進位制日誌檔案binlog中的事件到從庫的中繼日誌relay log,之後從庫根據中繼日誌relaylog重做資料變更操作,通過邏輯複製達到主從庫的資料一致;

mysql通過3個執行緒來完成主從庫之間的資料同步,其中binlog dump執行緒跑在主庫上,i/o執行緒和sql執行緒跑在從庫上。

當從庫啟動複製時,首先建立i/o執行緒連線主庫,主庫隨後建立binlog dump執行緒讀取資料庫事件並傳送給i/o執行緒,i/o執行緒獲取到事件資料後更新到從庫的中繼日誌replay log中去,之後從庫上的sql執行緒讀取中繼日誌中更新的資料庫事件並應用;

MySQL複製原理

參考官網 mysql複製功能是通過三個執行緒實現的,包括主上的binlog dump tread和從上的sql thread i o ttread master建立binlog dump thread,用於 當sl e連線到master時傳送binlog events給其,dump thread每次...

MySQL複製機制原理

複製,就是對資料的完整拷貝,說到為什麼要複製,首先能想到的是怕資料意外丟失,使得使用者蒙受損失。當完成了資料複製之後,會發現它的優勢不止這一點,假如一台機器宕機了,可以啟用備份在另一台機器的資料。畢竟宕機的概率很小,閒暇時間還可以讓備份機器分擔主機器的流量壓力。除此之外,當要公升級資料庫版本時,可以...

mysql主從複製原理

mysql主從複製 靈活 用途及條件 mysql主從複製用途 主從部署必要條件 主從原理 mysql主從複製原理 從庫生成兩個執行緒,乙個i o執行緒,乙個sql執行緒 1 當主伺服器發生改變時,會將此改變以二進位制日誌的形式傳送到binlog中 2 而副伺服器會有乙個中繼日誌,實時監控主伺服器的b...