mysql grastate.dat_X. MySQL Galera Cluster全解析 Part 10 grastate.dat文件详解

前期回顾

主机名

IP地址

操作系统

MySQL版本

插件版本

rac1

11.12.14.29

Redhat 6.10

5.7.26

25.3.27

rac2

11.12.14.30

Redhat 6.10

5.7.26

25.3.27

rac3

11.12.14.39

Redhat 6.10

5.7.26

25.3.27

前面我们说了Galera Cluster有三种不同的分支

MySQL Galera Cluster by Codership

Percona XtraDB Cluster by Percona

MariaDB Galera Cluster (5.5 and 10.0) by MariaDB

上面我们说了如何一步步搭建MySQL Galera集群

这节内容介绍一个Galera 集群中非常重要的一个文件

即grastate.dat,他位于MySQL的数据文件目录,即datadir

61e19cd2aaf1a7bec4609a72959ba228.png

1. 定位最近状态的节点

当我们关闭一个节点时,其seqno会写入grastate.dat文件中,这时后续的seqno该节点将无法接收到

注意数据库开启状态或者异常关闭时seqno值为-1

当我们将所有节点关闭,准备重启时我们需要知道哪个节点是最后关闭的,并使用它来引导集群

这时查看seqno的值即可,最大的即可

e850fc0ecd50ea580f9a02fb928aaa6c.png

38f89312f545f735d5c8b192b025adc2.png

2. 安全引导保护

安全引导即safe to bootstrap ,从3.19版本开始,Galera为防止在错误的节点上引导集群,引入了安全引导的保护

Galera会自动判断哪个节点是最后一个离开集群的,并将信息写入grastate.dat文件中

1a93872ce9682658b817ee68b84431ee.png

如果我们使用safe_to_bootstrao为0的节点来引导,数据库将无法启动

日志中报错如下

2016-11-07 01:49:19 5572 [ERROR] WSREP: It may not be safe to bootstrap the cluster from this node.It was not the last one to leave the cluster and may not contain all the updates.To force cluster bootstrap with this node, edit the grastate.dat file manually and set safe_to_bootstrap to 1

我们可以手动编辑该文件将值设置为1来引导,不过这样可能会造成数据丢失

如果所有节点同时异常宕机,这时所有节点的值都为0,需要选择一台手动编辑

3. 定位崩溃的节点

同样我们可以使用该文件来定位哪些节点异常崩溃的

0d994201a3202ceccecafe404bb57bc4.png

图中如果seqno为-1则说明数据库正在运行,或者非正常关闭

我们可以重新启动他,Galera集群会自动恢复并同步数据

4. 参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值