galera mysql 集群重启后的恢复操作

找到有偏移量的节点

在Galera集群中所有机器上执行

[root@r1-controller-11 ~]# cat /var/lib/mysql/grastate.dat
# GALERA saved state
version: 2.1
uuid:    dc350d11-46ee-11e7-8970-039d8a5bc077
seqno:   -1
cert_index:

找到最大的值,先在最大值的节点上bootstrap
若值均为-1,可选任意节点为bootstrap

bootstrap

启动第一台节点

# SysV init
service mysql start --wsrep-new-cluster

# systemd and Galera Cluster 5.5 or 5.6
systemctl start mysql --wsrep-new-cluster

# systemd and Galera Cluser 5.7
/usr/bin/mysqld_bootstrap

查看集群状态

进入mysql命令行执行以下命令:

SHOW STATUS LIKE 'wsrep_cluster_size';

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 1     |
+--------------------+-------+

可以看到当前启动的节点个数为1

启动其余节点

# SysV init
service mysql start

# systemd
systemctl start mysql

若启动失败

  1. 无重要数据
    则在失败的节点上删除以下文件。
rm -f /var/lib/mysql/grastate.dat

再重新启动该节点的MySQL。

  1. 有重要数据
    查看启动日志,处理对应问题后继续

查看集群状态

SHOW STATUS LIKE 'wsrep_cluster_size';

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+