mha如何管理多套mysql集群_Mysql 集群高可用方案 MHA
MHA是什么?
MHA(master high availability) 是用來保證 Mysql 集群高可用性的,對 master 進行監控,發現 master 出現故障后,自動進行故障轉移,從眾多 slave 中選舉出新的 master,并使其他 slave 與新 master 進行同步
主要特點是故障處理速度快,最大程度上保證數據不丟失
工作原理
當 master 出現故障后,MHA 會盡快搶救數據,嘗試到 master 中獲取二進制日志,如果不是物理故障,通常可以成功拿到
選舉出新的 master,規則是看哪個 slave 上的數據是最新的
找出最新 slave 后,其他 slave 會對比最新 slave 的數據,看自己有哪些差距,形成差異日志
如果從故障 master 中成功獲取了二進制日志的話,會在這個最新 slave 上進行回放,保證數據一致
把這個最新 slave 提升為新的 master
其它 slave 應用相應的差異日志,并開始從新的 master 開始復制
優勢
(1)故障處理速度快
一般在 30s 內就可以完成
(2)數據安全性好
slave 之間使用差異日志,保證了數據的一致,通過半同步復制的配合,幾乎可以保證數據不丟失
(3)易擴展
使用 Perl 開發,開源,開放接口,支持其他語言開發擴展
修改原有功能代碼和擴展開發都很方便
(4)可以監控多個集群
一個 MHA 管理服務器可以管理多個集群
不足
(1)只監控 master
MHA 只保證了 master 的高可用,并沒有監控 slave 的狀態,例如某 slave 出現復制中斷、延遲增加等問題,都是不知道的
(2)沒有集成虛擬IP的配置
在故障轉移時,為使對外透明,需要使用虛擬IP,MHA沒有自動實現VIP,需要我們自己實現
(3)安全問題
MHA 要求所有服務器之間都配置SSH免登錄,存在一定的安全隱患,如果某臺服務器出現了安全問題,那么就可能影響其他服務器
MHA 是目前非常成熟的高可用性方案,這里先大體了解下MHA,之后再詳細介紹配置過程
總結
以上是生活随笔為你收集整理的mha如何管理多套mysql集群_Mysql 集群高可用方案 MHA的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux mysql dns_Linu
- 下一篇: mysql long raw_读取Ora