Mysql Galera Cluster split-brain 腦裂緊急急救用的參數

在 Cluster 架構下的腦裂代表自己看不到對方,所以各自把自己提升為 Master

wsrep_provider_options 沒多做奇怪的調整下,Cluster 會將各 node 設定為 non-primary 避免資料錯亂 (連 use ${dbname} 也不行)

但如果緊急的情況一定要有設備在線上的話,我們有哪些短解

  • Rebuild Cluster
    • mysqld 全停後,因為資料已經都無法更新,所以認定其一 node 帶入 bootstrap-pxc 指定 primary
    • 啟動其他 node join cluster 並等候 IST / SST 重新認定更新資料同步狀態
  • 放下它,接受 split-brain ; 設備先上線為主,為了 DBA 明天還能打卡上班 & 關心您的資料,只要一台做這個事情就好
vim my.cnf && update wsrep_provider_options="pc.ignore_sb=TRUE"

但如果一台 DB 硬是吃不下所有流量的話,那還是建議您認命點將 Cluster 重建回來吧

官方已認證危險的使用參數: pc.ignore_sb

雖然危險,但知道自己在做什麼事情的話

不乏是一個緊急處理的逃生通道

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *