在 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
雖然危險,但知道自己在做什麼事情的話
不乏是一個緊急處理的逃生通道