文章目錄
- 前言
- 一、MHA 的概述
- 二、MHA 的特點
- 三、組成及原理
- 四、搭建步驟
- 1.實驗思路
- 2.實驗環境
- 3.實驗步驟
前言
- 在實際的生產環境中,當 MySQL 主從復制和讀寫分離不能滿足實際需求時,就可以考慮 MySQL 高可用群集了
- 接下來,我們將一起學習使用 MySQL-MHA 實作 MySQL 高可用
一、MHA 的概述
- MHA(Master High Availability)目前在 MySQL 高可用方面是一個相對成熟的解決方案,它由日本 DeNA 公司的 youshimaton(現就職于 Facebook 公司)開發,是一套優秀的作為 MySQL 高可用性環境下故障切換和主從提升的高可用軟體,
- 在 MySQL 故障切換程序中,MHA 能夠做到 0~30 秒內自動完成資料庫的故障切換操作,并且,在進行故障切換的程序中,MHA 能最大成都上保證資料庫的一致性,以達到真正意義上的高可用
二、MHA 的特點
- 自動故障切換程序中,MHA 試圖從宕機的主服務器上保存二進制日志,最大程度的保證資料不丟失
- 但這并不總是可行的:例如,如果主服務器硬體故障或無法通過 ssh 訪問,MHA 沒法保存二進制日志,只進行故障轉移而丟失了最新的資料
- MHA 可以與半同步復制結合起來,大大降低資料丟失的風險
- 如,只有一個 slave 已經收到了最新的二進制日志,MHA 可以將最新的二進制日志應用于其他所有的 slave 服務器上,因此可以保證所有節點的資料一致性
- 目前 MHA 支持主多從架構,最少三臺服務(即一主兩從)
三、組成及原理
- 該軟體由兩部分組成:MHA Manager(管理節點)和 MHA Node(資料節點)

- MHA Manager 可以單獨部署在一臺獨立的機器上管理多個 master-slave 集群,也可以部署在一臺 slave 節點上
- MHA Node 運行在每臺 MySQL 服務器上,MHA Manager 會定時探測集群中的 master 節點,當 master 出現故障時,它可以自動將最新資料的 slave 提升為新的 master,然后將所有其他的 slave 重新指向新的 master

- 整個故障轉移程序對應用程式完全透明
四、搭建步驟
1.實驗思路
- MHA 架構
- 原始碼編譯安裝資料庫
- 配置一主兩從
- 搭建 MHA
- 故障模擬
- 主庫失效
- 備選主庫稱為主庫
- 原故障主庫恢復,重新加入到 MHA,成為從庫
2.實驗環境
3.實驗步驟
未完待續
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/261368.html
標籤:其他
