高效能MySQL 第十章 複製(2)

2022-09-07 08:24:16 字數 1240 閱讀 7687

1、複製拓撲

可以在任意個主庫和備庫之間建立複製,只有乙個限制:每乙個備庫只能有乙個主庫。

基本原則:

乙個mysql備庫例項只能有乙個主庫。

每個備庫必須有乙個唯一的伺服器id。

乙個主庫可以有多個備庫(或者相應的,乙個備庫可以有多個兄弟備庫)。

如果開啟了log_sl**e_updates選項,乙個備庫可以把其主庫上的資料變化傳播到其他備庫。

一、一主庫多備庫

用途:為不同的角色使用不同的備庫。

把一台備庫當作待用的主庫,除了複製沒有其他資料傳輸。

將一台備庫放到遠端資料中心,用作災難恢復。

延遲乙個或多個備庫,以備災難恢復。

使用其中乙個備庫,作為備份、培訓、開發或者測試使用伺服器。

二、主動-主動模式下的主-主複製

主-主複製(也叫雙主複製或者雙向複製)包含兩台伺服器,每乙個都被配置成對方的主庫和備庫,換句話說,它們是一對主庫。

三、主動-被動模式下的主-主複製

其中的一台伺服器是唯讀的被動伺服器。

在兩台伺服器上執行如下設定後,會使其擁有對稱的設定:

確保兩台伺服器上有相同的資料。

啟用二進位制日誌,選擇唯一的伺服器id,並建立複製賬號。

啟用備庫更新的日誌記錄。

把被動伺服器配置成唯讀,防止可能與主動伺服器上的更新產生衝突,這一點是可選的。

啟動每個伺服器的mysql例項。

將每個主庫設定為對方的備庫,使用新建立的二進位制日誌開始工作。

四、擁有備庫的主-主結構

五、環形複製

雙主結構實際上是環形結構的一種特例。環形結構可以有三個或更多的主庫。每個伺服器都是在它之前的伺服器的備庫,是在它之後的伺服器的主庫。這種結構也稱為環形複製(circular replication)。

六、主庫、分發主庫以及備庫

如果需要多個備庫,乙個好辦法是從主庫移除負載並使用分發主庫。分發主庫事實上也是乙個備庫,它的唯一目的就是讀取和提供主庫的二進位制日誌。

七、樹或金字塔形

八、定製的複製方案

典型的定製方案包括組合過濾、分發和向不同的儲存引擎複製。

選擇性複製

將主庫上的資料劃分到不同的資料庫裡,將每個資料庫複製到不同的備庫上。

分離功能

資料歸檔

將備庫用作全文檢索

唯讀備庫

模擬多主庫複製

建立日誌伺服器

2、mysql複製的高階特性

半同步複製

複製心跳

高效能MySql學習筆記 第十章 複製

複製解決的問題 複製如何工作建立複製賬號 配置主庫和備庫 啟動複製 從另乙個伺服器開始複製 其他推薦的複製配置基於語句的複製 缺點基於行的複製 缺點複製檔案 傳送複製事件到其他備庫 複製過濾器一主庫多備庫 結構圖如下 主 主複製 擁有備庫的主 主結構是為每乙個主庫增加乙個備庫。這樣做增加了冗餘,對於...

第十章 函式

使用def關鍵字 定義個數可變的位置形參 定義個數可變的關鍵字形參 定義預設值引數 定義個數可變的位置形參 deffun1 args 結果為乙個元組 print args fun1 10,20,30 10,20,30 定義個數可變的關鍵字形參 deffun2 args 結果為乙個字典 print a...

第十章 屬性

z屬性 本章也比較簡單稍作介紹 無參屬性就是我們常見的屬性 可以封裝屬性 以執行緒安全方式訪問 有參屬性就是c 中的所引器 匿名型別 如圖遇到如下 具體點就是 上面的注釋也已經講清楚了,定義的型別之後,構造例項,然後初始化屬性。現在詳細說下 編譯器接收到 上圖 先用var 定義乙個型別,但是不具體指...