1. 程式人生 > >PXC(mysql叢集) docker重啟失敗異常

PXC(mysql叢集) docker重啟失敗異常

PXC docker啟動失敗異常

直接通過docker start node1 或者任何一個節點是啟動不了的,原因是叢集之前的同步機制造成的,啟動任何一個節點,該節點都會去其它節點同步資料,其它節點仍處於宕機狀態,所以該節點啟動失敗,這也是pxc叢集的強一致性的表現,解決方式是,刪除所有節點docker rm node1 node2 node3 node4 node 5

和資料卷中的grastate.dat檔案

rm -rf /var/lib/docker/volumes/v1/_data/grastate.dat

rm -rf /var/lib/docker/volumes/v2/_data/grastate.dat

rm -rf /var/lib/docker/volumes/v3/_data/grastate.dat

rm -rf /var/lib/docker/volumes/v4/_data/grastate.dat

rm -rf /var/lib/docker/volumes/v5/_data/grastate.dat

重新執行叢集建立的命令即可,因為資料都在資料卷中,所有放心,叢集重新啟動都資料仍然都在.

 

 

注意:PXC叢集只有在超過一半數量的節點宕機,叢集才會不可用,這是為了避免異地機房部署PXC叢集,因為網路故障,導致一個PXC叢集分裂成兩個叢集。所以說掛掉一兩個節點沒什麼問題,只要不超過一半的節點就行。