千家信息网

MGR MYSQL集群崩溃的修复方法

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"MGR MYSQL集群崩溃的修复方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"MGR MYSQL集群崩溃的修复方法"吧!生产即将部署
千家信息网最后更新 2026年11月03日MGR MYSQL集群崩溃的修复方法

本篇内容主要讲解"MGR MYSQL集群崩溃的修复方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"MGR MYSQL集群崩溃的修复方法"吧!

生产即将部署MYSQL MGR 的环境,进行对接银行的项目,在测试系统上进行测试了的两个月的MGR 没有任何问题,出过一次问题,还是开发人员不大熟悉MYSQL 的原理,使用了大事务,将MYSQL MGR 卡死,经过几分钟的处理,一切正常,基本上几百万的数据的查询都在秒级。完全不逊色其他数据库产品的响应。

最近出了事情,所以必须要对任何系统的上线进行严控,这边MYSQL MGR 上线需要进行严格的上线测试,得到目前MYSQL 集群能HOLD 住的数据量,这样才能给运维和开发一个参数和数据承受范围,避免一些不好的事情出现。

将SYSBENCH 搭建在 PROXYSQL 中间件上,开始压测,初始没有任何问题,后面加大压测的数据量,30个表每个表500MB,30个线程,持续5分钟,在PERPARE的时候,发现到第10个表系统已经没有反应了,查询了内存已经开始使用了 SWAP了,应该是内存已经爆了,停止系统的线程,发现无法停止。SHOW PROCESSLIST;

发现大量 insert into 的语句开卡在线程池里面,手动清理,无效。

无意之间查看了磁盘空间,OMG,UNDO LOG 和 RELAY LOG 的空间已经爆了,100%的使用率。

此时查询集群的状态,集群已经处于失败的状态,(图没有留,下面的图中的 MEMBER_STATE,应该是OFFILINE 的状态了)

此时集群已经散掉了,查看日志,其实日志已经在昨天就已经报警了(因为压力测试是前天做的,但是由于突发情况就没有再管压力测试,几天在测,发现已经出了问题)

没有良好的系统测试,无论是硬件方面的还是软件方面的,都为未来的"重击"买下了伏笔。

所幸,本次做了,所以在系统上线前发现了问题。

下面就是修复,在通知运维的同学后,添加了磁盘空间,然后系统重新集群的搭建和启动。(MYSQL MGR 还是很健壮的,只是重启了集群,将失败的节点添加)

但此时第二个问题出来了,由于RELAY LOG的磁盘空间问题,已经有很多日志挤压了.

最省事的方法就是BACKUP 主库,然后在 RESTORE 到从库,从起MGR 就可以了。如此也就放弃了,更深层次修复的MGR的技巧。首先我们先强制从节点启动,马上一堆挤压的LOG 开始执行,由于在当时为了磁盘空间的问题,已经在主库和从库都删除了测试数据库。(仅仅为了试验,上线的绝对禁止)

洪水一般的日志向STANDBY节点袭来,都是报日志与当前操作的环境不一致之造成的报错,当下还是一直的执行,但后面突然停下来,原来是DROP DATABASE 这样的操作又被卡主了,(这和MYSQL当时的可以容忍的复制ERROR有关,DDL操作是不能容忍的错误)这下数据库从节点彻底锁死。

好吧那就开始修复集群。

(不熟悉MGR 和 GTID 原理的估计看下面就开始费劲了)

1 我们查看主节点的GTID 号

2620d5df-07e7-11e9-8fa8-005056ad4145:1-2740,

81f38f19-09d2-4144-8925-484ad1cb5c6f:1-1002,

bf79695c-0e78-11e9-9c14-005056ad1469:1

主库的日志已经到了这个GTID 并且 是 MYSQL-BIN.000012

2 我们在看从库的状态

果然是不一样,当然应该不一样,要不集群就不会是失败的状态。

3 开始修复

我们先停止从节点

stop group_replicatiton;

清空当前GTID EXECUTED

reset master;

设置和主节点一样的 EXECUTED_GTID_SET

启动复制

start group_replication;

再次查看修复的那个从节点的状态,已经上线了

查看对应的日志,OK 已经和主同步了,(如果你熟悉GTID的原理你就知道为什么了)

使用此种手段,修复第二个节点

修复成功,集群恢复工作。

再次验证是否还有挤压的 TRANSACTION LOG

没有了,当然没有了。

此种方法使用是有条件的,要根据当前的状态,如果是复杂的状态,还是建议用传统的方法来进行恢复,不过如果你对你的MYSQL MGR 集群和相关系统的运作了解,你可以在紧急的状况或测试环境做一遍,对了解MGR的原理和紧急状态的修复会受益匪浅。

到此,相信大家对"MGR MYSQL集群崩溃的修复方法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

集群 状态 节点 系统 问题 测试 方法 数据 日志 空间 还是 原理 磁盘 查询 数据库 环境 线程 挤压 更深 内存 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司的优势 互联网科技会 互联网扶贫科技 互联网科技金融公司 碳银互联网科技有限公司 江苏南京365互联网科技 承德科技产业互联网发展 互联网还是高科技吗 湖北码尼互联网科技有限公司电话 荆州市昕露互联网络科技有限公司 崇明区互联网教育科技售后服务 想开互联网科技公司怎么样 科技类公司包括互联网吗 伊宁互联网科技做什么的 山东子淼互联网科技有限公司 扫呗互联网科技有限公司 国产互联网科技公司 同城互联网络科技 瑞安市蟠桃会互联网科技有限公司 利用互联网等科技手段 涨乐互联网科技 与互联网科技公司 北京互联网科技公司 深圳卡尔迅互联网科技有限公司怎么样 互联网媒体平台算高科技产业 互联网新科技动漫ppt素材 广州新华互联网科技学校电竞方面 互联网金融科技名词解释 科技互联网公司两年变化 保山浩联互联网科技有限公司
0