专栏首页时悦的学习笔记MySQL Galera Cluster全解析 Part 10 grastate.dat文件详解

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

1. 定位最近状态的节点

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

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

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

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

2. 安全引导保护

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

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

如果我们使用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. 定位崩溃的节点

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

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

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

4. 参考资料

https://galeracluster.com/library/training/tutorials/restarting-cluster.html

本文分享自微信公众号 - 宅必备(gh_bc574e49c720)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 记一次DataGuard SWITCHOVER_STATUS 状态为RESOLVABLE GAP的处理

    今天在做一套RAC DG的switchover演练,将备库两个节点都开启时查询v$database的switchover状态报如下错误

    bsbforever
  • MySQL Galera Clusters全解析 Part 2 基于认证的复制

    MySQL Galera Clusters全解析 Part 1 Galera Cluster 简介

    bsbforever
  • Oracle参数解析(shared_pool_reserved_size)

    前面介绍了Oracle的基本参数,从这节开始讲其他的参数,参数从v$parameter中提取

    bsbforever
  • LeetCode 752:打开转盘锁 Open the Lock

    你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字:'0', '1', '2', '3', '4', '5', '6', '7', '8', '9' 。每...

    爱写bug
  • 红黑树详细分析,看了都说好

    红黑树是一种自平衡的二叉查找树,是一种高效的查找树。它是由 Rudolf Bayer 于1978年发明,在当时被称为对称二叉 B 树(symmetric bin...

    田小波
  • 我画了 20 张图,给女朋友讲清楚红黑树

    红黑树是一种常见的自平衡二叉查找树,常用于关联数组、字典,在各种语言的底层实现中被广泛应用,Java 的 TreeMap 和 TreeSet 就是基于红黑树实现...

    五分钟学算法
  • Java源码阅读之LinkedList - JDK1.8

    前文基于缓冲数组的ArrayList已经分析过,那么同样作为List实现的LinkedList又有什么不一样呢?

    格子Lin
  • 《Redis设计与实现》读书笔记(三十一) ——Redis集群消息类型

    《Redis设计与实现》读书笔记(三十一) ——Redis集群消息类型 (原创内容,转载请注明来源,谢谢) 1、发送消息类型 集群中节点通过发送与接收消息进行...

    用户1327360
  • scrapy架构初探

    URL谁来准备呢?看样子是Spider自己来准备,那么可以猜测Scrapy架构部分(不包括Spider)主要做事件调度,不管网址的存储。看起来类似GooS...

    爱撒谎的男孩
  • LeetCode 系列 100. 相同的树

    100. 相同的树: https://leetcode-cn.com/problems/same-tree/

    村雨遥

扫码关注云+社区

领取腾讯云代金券