基于mysql 5.5+mysql-master-ha实现mysql ha架构
生活随笔
收集整理的這篇文章主要介紹了
基于mysql 5.5+mysql-master-ha实现mysql ha架构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
聽說很多大公司都在使用mysql ha(mysql-master-ha)的環境,下面,我也試著搭建測試一下。 一.MHA原理及其特點: 1.原理: MHA在主服務器發生故障時,自動實現故障轉移,快速將從服務器晉級為主服務器(通常在10-30s),而不影響復制的一致性,適用于任何存儲引擎 MHA 提供在線服務器切換,將從服務器器提升為主服務器,時間在0.5-2s,這段時間,數據是無法寫入的。 MHA manager 是通過ssh 連接到 mysql slave服務器上 MHA 每次從宕掉的主服務器上保存二進制日志,但不是每次都成功(主服務器硬件故障或無法通過ssh訪問) mysql 5.5支持半同步復制,MHA與半同步復制結合,可以大大降低數據丟失的風險, 2.特性: (1).主服務器的自動監控和故障轉移 (2).交互式主服務器故障遷移(使用MHA實現故障遷移,不監控主服務器,出現故障,手工調用MHA切換) (3).非交互式的主故障遷移(不監控主服務器,但自動實現故障轉移) (4).在線切換主服務器 注: MHA 可以應用于任何復制結構(此點待定) 二.MHA的前提條件: 1.搭建的前提條件: (1).mysql 主從復制已配置好(master-slave) (2).4臺server 設置SSH公鑰免密碼登錄 (3).操作系統為linux系統(MHA 只支持linux系統) (4).單臺可寫主服務器和多臺從服務器或只讀服務器 (5).mysql 版本為5.0或以上版本 (6).候選主服務器的log-bin必須開啟 (7). 所有服務器上的二進制日志和中級日志過濾規則必須相同 (8).候選服務器上的復制用戶必須存在 (9). 保留中繼日志和定期清理 參考文章:http://www.vmcd.org/2012/04/mysql-high-availability-mha/ 2.MHA的基本說明: MHA由node 和 manage 組成, node 安裝在每一臺mysql服務器上(主從上都要裝), manage端運行在獨立服務器上,也需要安裝node節點 3.MHA 切換過程: (1).監控和故障轉移過程 檢測復制設置和確定當前主服務器 監控主服務器 檢測主服務器當掉 再次檢測從服務器配置 關閉當掉的主服務器(可選) 恢復一個新的主服務器 激活新的主服務器 恢復其余的從服務器 告警(可選) (2).在線切換過程 檢測復制設置和確定當前主服務器 確定新的主服務器 阻塞寫入到當前主服務器 等待所有從服務器趕上復制 授予寫入到新的主服務器 重新設置從服務器 三.MHA 部署實例: 主DB:192.168.1.101 從DB1:192.168.1.102 從DB2:192.168.1.103 MHA管理端:192.168.1.100 系統版本:red hat linux 6 數據庫版本:mysql 5.5 注:默認mysql主從配置已經配置完畢1.對mysql的主從進行半同步配置、從上建立復制的用戶和授予相應的權限、日志清除設置
2.4臺server建立ssh無密碼驗證登陸
3.在3臺數據庫節點安裝MHA的node節點:
4.管理節點安裝MHA的manager和node(192.168.1.100):
5.編輯管理節點的配置文件
6.在所有數據庫節點的機器上進行授權操作(192.168.1.101/192.168.1.102/192.168.1.103)
7.測試ssh連接是否正常
8.測試數據庫之間的復制情況:
9.啟動管理節點進程:
10.測試:
關閉目前為主的mysql,仔細查看日志,系統會自動進行切換 注:切換失敗后,再次啟動管理端,是啟不來的,需要刪除目錄下相關app1.failover.complete,才可正常開啟 各位自行測試,有問題,可以互相探討。轉載于:https://my.oschina.net/liting/blog/403969
總結
以上是生活随笔為你收集整理的基于mysql 5.5+mysql-master-ha实现mysql ha架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用swipemenulistview实
- 下一篇: Selenium WebDriver问题