MySQL架構備份


MySQL Replication 概述

集群的主要類型?

高可用集群(High Available Cluster, HA)

高可用集群是指通過特殊的軟件把獨立的服務器連接起來,組成一個能夠提供故障切換(Fail Over)功能的集群

如何衡量高可用?

99.53%        7天           常規系統
99.98%        8小時         可用系統
99.99%        52.6分鍾      高可用系統
99.999%       5.3分鍾       抗故障系統
99.9999%      32秒          容錯系統

MySQL常用的集群架構

MySQL Replication

MySQL Cluster

MySQL Group Replication (MGR) 5.7.17

MariaDB Galera Cluster

Keepalived|HeartBeat||Lvs,Haproxy等技術構建高可用集群

什么是 MySQL Replication?

1、Replication可以實現將數據從一台數據庫服務器(master)復制到一台到多台數據庫服務器上(slave)

2、默認情況下,屬於異步復制,所以無需維持長連接

復制拓撲:

MySQL Replication的原理

簡單來說,master將數據庫的改變寫入二進制日志,slave同步這些二進制日志,並根據二進制日志進行數據重演操作,實現數據異步同步

1. 在主庫上把數據更改(DDL DML DCL)記錄到二進制日志(Binary Log)中。
2. 備庫I/O線程將主庫上的日志復制到自己的中繼日志(Relay Log)中。
3. 備庫SQL線程讀取中繼日志中的事件,將其重放到備庫數據庫之上。

MySQL Replication的架構

master —> slave (雙機熱備)

默認情況下,master接收讀寫請求,slave只接收讀請求以減輕master的壓力

復制的過程:

1、slave端的IO線程連上master端,請求

2、master端返回給slave端,bin log文件名和位置信息

3、IO線程把master端的bin log 內容依次寫到slave端relay bin log(中繼日志)里,並把master端的bin-log文件名和位置記錄到master.info里

4、slave端的sql線程,檢測到relay bin log中內容更新,就會解析relay log 里更新的內容,並執行這些操作

M--S 雙機熱備實驗 > 點我

master —> slave1 —> slave2 (級聯架構)

優點:進一步分擔讀寫力

缺點:slave1 出現故障,后面的所有級聯slave服務器都會同步失敗

M--S--S 級聯架構實驗 > 點我

master —> (slave1 slave2) (並聯架構)

                /----> slave1
  master                          (並聯架構)
                \----> slave2

優點:解決上面的slave1的單點故障,同時也分擔讀壓力

缺點:間接增加master的壓力(傳輸二進制日志壓力)

master1 <------> master2 (互為主從)

優點:從命名來看,兩台master好像都能接受讀、寫請求,但實際上,往往運作的過程中,同一時刻只有其中一台master會接受寫請求,另外一台接受讀請求

示例:
create table aaa;
m:                          s:
bin-log   -------->   io(relay-bin-log)
                          sql create table aaa;

把主上的二進制日志(bin-log)的內容傳到從上的一個新的日志叫relay-bin-log
從上的 IO 線程 負責傳輸
從上的 SQL 線程 負責從服務器解析日志

若是雙master架構,則兩邊都得開啟binlog和relarylog中繼日志

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM