解决办法是把/var/lib/mysql/grastate.dat文件里面的safe_to_bootstrap设置成1,保存设置,然后启动主节点就可以了。如果你现在pxc集群里有主节点运行,当前这个节点就得按照普通节点去启动
这样改参数强制变为主节点来启动(因为集群中还有其它节点在运行,那些节点的数据有可能是最新的,而这个强制关机的节点由于不是最后一个离开集群的节点,它的数据并不是最新的,通过这种手动改为主节点的方式强制以主节点去启动),这样会造成各节点数值不一致
主节点只是启动时候把galera启动,然后主节点就变成普通节点了。当这个节点宕机,如果还有其他节点在运行,宕机的这个节点就不应该按照主节点启动,按照普通节点启动就行了。只有在瞬间所有节点都宕机,没有节点来得及判断自己是不是最后退出的节点,所以这种情况每个节点的参数都是0,那就要找个节点当做主节点启动,因为是同时关闭,所以每个节点上的新旧数据差异不大,哪个节点都能当做主节点
如果不是同时宕机, A(第一个关闭) B(第二个关闭) C(第三个关闭)。正常情况下 C 节点就应该成为下一次的主节点来启动。但是我认为的将 B 节点通过参数修改成主节点来启动,这样会造成各节点数值不一致导致丢失部分数据。