PXC模式的mysql集群整体断电后恢复正常运行的技巧

今天在处理客户现场问题的时候,遇到一个pxc集群的mysql,所有节点都整体断电,然后集群重新开机后,无法自动恢复运行,只能手动启动pxc集群的所有节点
本次恢复的集群都是运行在docker里面的,所以整个演示过程以docker容器中的操作为演示,实际在docker外面和里面差距不大

查找集群最后断电的节点

一般重启后,由于docker是系统自启动服务,所以一般会自动把pxc数据库也拉起来,我们这会就需要把集群所有节点的pxc服务都停掉,进入pxc数据库的docker-compose.yml文件所在的目录,然后执行如下命令:

docker-compose down

在整个集群中,最后断电的那台服务器上有一个配置文件,一般在docker容器的data目录下,名称为grastate.dat,我们在每个节点上直接cat 这个文件,如下图所示
在这里插入图片描述
如果三台服务器都是0,则可能三台服务器是同时断电的,我们就需要根据seqno来判断那一台服务器上的数据是最全的,seqno编号越大,则数据越全面,新的集群启动,就选择数据最全面的当做主节点

修改配置启动主节点

直接修改刚才那个文件grastate.dat,把bootstrap参数改成1
在这里插入图片描述
然后修改docker-compose.yml文件,操作如下图所示:
在这里插入图片描述

启动主节点

最后修改完docker-compose.yml文件后,我们就可以启动主节点了

docker-compose up -d

主节点启动完成后,我们就可以通过常用的数据库连接工具,输入用户名和密码,连接数据库了(在此不再进行赘述了),连接完成后,直接查询pxc的状态,直接执行下面的sql进行查询

show   status where Variable_name IN   ('wsrep_local_state_uuid','wsrep_cluster_conf_id','wsrep_cluster_size',   'wsrep_cluster_status','wsrep_ready','wsrep_connected');

查询的结果如下图所示(我这里是集群三个节点都启动成功后的截图):
在这里插入图片描述

启动从节点

主节点启动成功后,我们就可以去启动两个从节点服务器了,首先要进入从节点服务的docker-compos.yml文件夹的目录,然后修改docker-compos.yml文件
在这里插入图片描述
修改完成后,保存退出,最后也是使用命令启动从节点docker-compose up -d
最后我们再之前连接的主节点的mysql数据库上,执行查询,查看从节点是否正常加入到集群,加入后数量会有变化,如下图所示:
在这里插入图片描述
后续其他的从节点加入集群,也是依次类推!!

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值