
回复
当集群中所有节点都宕机后,集群再次启动后,能否自动选主
1、MGR集群所有节点都宕机后,集群重启,能否自动选主和启动MGR服务
这是个来自群友的问题。
首先,MySQL服务利用 systemd 即可实现故障后自启动,注意下面这个配置即可:
其次,mysqld进程启动后,想要实现MGR的自动选主及自启动也是可以的,利用MySQL Shell即可,例如:
可以看到错误信息提示我们当前节点上没有最新的数据,不能直接启动MGR,错误信息中还提供了该去哪个节点启动的建议,所以我们改成在 yejr-mgr4 节点上执行拉起MGR:
可以看到,MGR集群已经被正常启动了。
上面是利用MySQL Shell启动一个发生过故障的MGR集群,如果是手动的话该怎么办呢?
首先,在各个节点执行下面的SQL,确认各节点当前的事务执行情况:
从上面的结果可以看到,yejr-mgr4 节点上已执行完的事务GTID值最大:4652391 > 4542304 > 4537605,因此应该选择 yejr-mgr4 节点作为 Primary 节点。
将该节点设置为引导模式,然后启动MGR服务:
在其他节点上,则直接启动MGR服务即可,切记无需再次设置引导模式,否则它就会变成一个全新的MGR集群的Primary节点了。
好了,自动、手动两种方式拉起一个故障MGR集群方法都介绍完毕了。
Enjoy GreatSQL :)
文章转载自公众号:GreatSQL社区