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
若启动失败
- 无重要数据
则在失败的节点上删除以下文件。
rm -f /var/lib/mysql/grastate.dat
再重新启动该节点的MySQL。
- 有重要数据
查看启动日志,处理对应问题后继续
查看集群状态
SHOW STATUS LIKE 'wsrep_cluster_size';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 3 |
+--------------------+-------+