MySQL系列(八) 複製

  • 16 複製

    • 概述數據庫

      複製(replication)是MySQL數據庫提供的一種高可用高性能的解決方案,通常用來創建大型的應用。服務器

    • 步驟異步

      • 主服務器(master)把數據更改記錄到二進制日誌(binlog)中
      • 從服務器(slave)把主服務器的二進制日誌複製到本身的中繼日誌(relay log)中
      • 從服務器重作中繼日誌中的日誌,把更改應用到本身的數據庫上,以達到數據的最終一致性

    複製的工做原理並不複雜,其實就是一個徹底備份加上二進制日誌備份的還原。性能

    不一樣的是這個二進制日誌的還原操做基本上實時在進行中。3d

    特別須要注意的是,複製不是徹底實時地進行同步,而是異步實時。這中間存在主從服務器之間的執行延時,若是主服務器的壓力很大,則可能致使主從服務器延時較大。日誌

    • 複製結構圖code

       

    • 複製的主要功能blog

      • 數據分佈。因爲MySQL數據庫提供的複製並不須要很大的帶寬要求,所以能夠在不一樣的數據中心之間實現數據的複製
      • 讀取的負載平衡。經過創建多個從服務器,可將讀取平均地分佈到這些從服務器中,而且減小了主服務器的壓力。通常經過DNS的Round-Robin和Linux的LVS功能均可以實現負載平衡。
      • 數據庫備份。複製對備份頗有幫助,可是從服務器不是備份,不能徹底代替備份
      • 高可用性和故障轉移。經過複製創建的從服務器有助於故障轉移,減小故障的停機時間和恢復時間
    • 複製+快照結構圖同步

       

相關文章
相關標籤/搜索