Percona XtraDB Cluster(PXC)掉电无法正常启动

办公室掉电,PXC集群环境无法启动,也就是说整个集群的状态处于丢失的情形。因此需要采取强制的方式来进行,见下面的描述。

一、故障现象

查看mysql错误日志如下:

2017-07-08 09:05:50 3913 [Note] WSREP: GCache history reset: old(0947d0da-4ffe-11e7-b169-137e84a69003:0) -> 
new(0947d0da-4ffe-11e7-b169-137e84a69003:112047)
2017-07-08 09:05:50 3913 [Note] WSREP: Assign initial position for certification: 112047, protocol version: -1
2017-07-08 09:05:50 3913 [Note] WSREP: wsrep_sst_grab()
2017-07-08 09:05:50 3913 [Note] WSREP: Start replication
2017-07-08 09:05:50 3913 [Note] WSREP: Setting initial position to 0947d0da-4ffe-11e7-b169-137e84a69003:112047
2017-07-08 09:05:50 3913 [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 .
2017-07-08 09:05:50 3913 [ERROR] WSREP: wsrep::connect(gcomm://192.168.1.248,192.168.1.249,192.168.1.253) failed: 7
2017-07-08 09:05:50 3913 [ERROR] Aborting

2017-07-08 09:05:50 3913 [Note] WSREP: Service disconnected.
2017-07-08 09:05:50 3913 [Note] WSREP: Waiting to close threads......
2017-07-08 09:05:55 3913 [Note] WSREP: Some threads may fail to exit.
2017-07-08 09:05:55 3913 [Note] Binlog end
2017-07-08 09:05:55 3913 [Note] /usr/sbin/mysqld: Shutdown complete

二、故障分析及解决

最好的办法首先就是从日志定位问题的关键。如前所述, [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 .

无法从当前节点实现安全引导。原因是当前节点不是集群中最后离开的节点,也就是说当前节点可能未能包含所有的更新。 如果强制启动当前节点,需要修改grastate.dat文件将safe_to_bootstrap的值置为1。

咋一看,那就从另外一个节点启动吧。当前的集群仅仅配置了2个节点。遗憾的是另外一个节点也收到了同样的错误。 也就是只能强制启动了。

下面查看grastate.dat,该文件主要描述GALERA保持的状态信息,按指引修改safe_to_bootstrap的值置为1

# more grastate.dat
# GALERA saved state
version: 2.1
uuid:    0947d0da-4ffe-11e7-b169-137e84a69003
seqno:   -1
safe_to_bootstrap: 0

修改safe_to_bootstrap的值为1
# vi grastate.dat 

再次启动正常
# /etc/init.d/mysql bootstrap-pxc

mysql> show variables like 'version';
+---------------+----------------+
| Variable_name | Value          |
+---------------+----------------+
| version       | 5.6.36-82.0-56 |
+---------------+----------------+

mysql> select 'Leshami' Author,'http://blog.csdn.net/leshami' Blog,
    -> '645746311' QQ from dual;
+---------+------------------------------+-----------+
| Author  | Blog                         | QQ        |
+---------+------------------------------+-----------+
| Leshami | http://blog.csdn.net/leshami | 645746311 |
+---------+------------------------------+-----------+

mysql> show global status like 'wsrep_cluster%';
+--------------------------+--------------------------------------+
| Variable_name            | Value                                |
+--------------------------+--------------------------------------+
| wsrep_cluster_conf_id    | 2                                    |
| wsrep_cluster_size       | 2                                    |
| wsrep_cluster_state_uuid | 0947d0da-4ffe-11e7-b169-137e84a69003 |
| wsrep_cluster_status     | Primary                              |
+--------------------------+--------------------------------------+

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

Spring Boot + Mybatis + Redis二级缓存开发指南

Spring-Boot因其提供了各种开箱即用的插件,使得它成为了当今最为主流的Java Web开发框架之一。Mybatis是一个十分轻量好用的ORM框架。Red...

21930
来自专栏Java3y

Oracle11安装和卸载教程

Oracle11g的安装教程 同时解压缩两个zip文件,生成一个database文件夹,进入到database文件夹,点击setup ? 这里写图片描述 去掉安...

53380
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装Solr 5.2.1

Solr是一个基于Apache Lucene的搜索引擎平台。它是用Java编写的,并使用Lucene库来实现索引。可以使用各种REST API访问它,包括XML...

20660
来自专栏java闲聊

AvtiveMQ与SpringBoot结合

24470
来自专栏编程

Spring Boot+Mybatis+Redis二级缓存开发指南

背景 Spring-Boot因其提供了各种开箱即用的插件,使得它成为了当今最为主流的Java Web开发框架之一。Mybatis是一个十分轻量好用的ORM框架。...

608100
来自专栏程序猿DD

spring-boot-starter-swagger迎新伙伴支持,加速更新进度(1.3.0.RELEASE)

从该starter创建至今收到了不少使用反馈,同时也有不错的童鞋申请加入一起维护。本篇先欢迎小火童鞋的加入及贡献,接下来具体说说本次的更新内容。 本次更新主要新...

35450
来自专栏SpringSpace.cn

基于Spring Boot 2.0 及MongoDB 3.6.2 实现的简单文件共享服务器 顶

近期研究学习Spring Boot 2.0及MongoDB期间,尝试用Reactive模式实现了一个简单的文件共享服务器,可用于家庭及小型组织内部的文件共享,目...

33120
来自专栏北京马哥教育

corosync+pacemaker+drbd+mysql来实现mysql的高可用和数据的同步

实现拓扑图: ? 实验流程: 先对两主机安装上corosync和pacemaker 两主机安装drbd服务,并且设置好drbd的组设备 ...

35070
来自专栏阮一峰的网络日志

持续集成服务 Travis CI 教程

编写代码只是软件开发的一小部分,更多的时间往往花在构建(build)和测试(test)。 为了提高软件开发的效率,构建和测试的自动化工具层出不穷。Travis ...

40450
来自专栏pangguoming

Result Maps collection already contains value for ***

关于  MyBatis配置的时候,出现  Result Maps collection already contains value for ***  这个的问...

1.5K60

扫码关注云+社区

领取腾讯云代金券