主從形式
1.一主一從
2.主主複製
3.一主多從—擴充套件系統讀取的效能,因為讀是在從庫讀取的;
4.多主一從—5.7開始支援
5.聯級複製
用途及條件
mysql主從複製用途
實時災備,用於故障切換
讀寫分離,提供查詢服務
備份,避免影響業務
主從部署必要條件:
主庫開啟binlog日誌(設定log-bin引數)
主從server-id不同
從庫伺服器能連通主庫
主從原理
從庫生成兩個執行緒,乙個i/o執行緒,乙個sql執行緒;
i/o執行緒去請求主庫 的binlog,並將得到的binlog日誌寫到relay log(中繼日誌) 檔案中;
主庫會生成乙個 log dump 執行緒,用來給從庫 i/o執行緒傳binlog;
sql 執行緒,會讀取relay log檔案中的日誌,並解析成具體操作,來實現主從的操作一致,而最終資料一致;
問題及解決方法
mysql主從複製存在的問題:
主庫宕機後,資料可能丟失
從庫只有乙個sql thread,主庫寫壓力大,複製很可能延時
解決方法:
半同步複製—解決資料丟失的問題
並行複製----解決從庫複製延遲的問題
半同步複製的原理
原理:事務在主庫寫完binlog後需要從庫返回乙個已接受,才放回給客戶端;
5.5整合到mysql,以外掛程式的形式存在,需要單獨安裝
確保事務提交後binlog至少傳輸到乙個從庫
不保證從庫應用完成這個事務的binlog
效能有一定的降低
網路異常或從庫宕機,卡主庫,直到超時或從庫恢復
並行複製原理
mysql主從複製原理
mysql主從複製 靈活 用途及條件 mysql主從複製用途 主從部署必要條件 主從原理 mysql主從複製原理 從庫生成兩個執行緒,乙個i o執行緒,乙個sql執行緒 1 當主伺服器發生改變時,會將此改變以二進位制日誌的形式傳送到binlog中 2 而副伺服器會有乙個中繼日誌,實時監控主伺服器的b...
mysql主從複製原理
什麼是分庫分表 分表是啥意思?就是把乙個表的資料放到多個表中,然後查詢的時候你就查乙個表。比如按照使用者id來分表,將乙個使用者的資料就放在乙個表中 分庫是啥意思?就是你乙個庫一般我們經驗而言,最多支撐到併發2000,一定要擴容了,而且乙個健康的單庫併發值你最好保持在每秒1000左右,不要太大。那麼...
mysql主從複製原理
1 主伺服器上發起乙個mysql事務 2 主伺服器上使用一條或者多條sql語句。物理結構的真正實現依賴於儲存引擎,一邊會先記錄到記憶體快取中 innodb的語句被記錄到innodb事務日誌中,myisam 直接寫到表的資料檔案中 3 事務結束,主伺服器的二進位制日誌檔案記錄所使用的dml語句的結果 ...