欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)

程序员文章站 2022-05-10 23:32:19
...

Mariadb 节点故障替换过程

这段时间搭建mariadb集群,老板问我,一个节点坏掉了,能否直接替换,不用重启其他机器,不新加节点。我在网上找了很多资料,都没有一个完整的解决方案。于是自己探索模拟了下,还真被自己试成功了,下面把过程记录了下来。

场景:三台Mariadb集群,假设其中某一台突然出现问题,启动不了,现在用一台新的进行替换。
三台主机
172.20.30.189
172.20.30.190
172.20.30.191
问题主机
172.20.30.190
原先三台机器都正常,如下图所示:
【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)
我们先修改下下190的ip,然后reboot一下,发现190从集群节点中消失
【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)
下面我们用一台新的机器进行替换,
前提:节点故障之前保存所有节点配置文件最主要的是data目录下的grastate.dat文件(注意:一定要是文件本身,拷贝其中内容无效)
【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)
1:修改新节点的主机名和ip,保证与故障节点一致
a:修改主机名,保证与故障主机节点一致
【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)
b:修改主机ip,保证与故障主机节点一致
【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)
【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)
c:重启下网卡服务

systemctl restart network

2:修改本地主机映射关系,将故障节点的信息拷贝上去
【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)
3:重启下机器

reboot

4:修改mariadb集群的配置文件,保证相关信息与故障节点一致

vim /etc/my.cnf.d/server.cnf

【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)
5:初始数据库

/usr/bin/mysql_install_db --defaults-file=/etc/my.cnf.d/server.cnf --user=mysql --datadir=/usr /local /mysql/data --basedir=/usr 

这个可以按照自己配置进行修改
【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)
6:将grastate.dat文件拷贝过去

【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)
7:给mysql 添加grastate.bat添加操作权限

chown -R mysql /usr/local/mysql/data/grastate.dat
chgrp -R mysql /usr/local/mysql/data/grastate.dat

8:重启mariadb集群服务
Service mariadb restart
【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)
9:查看节点是否加入集群
【Mariadb】-Mariadb集群故障节点替换过程(技术支持,请勿转载)
10:数据同步完成
检查下了数据,发现数据同步需要一段时间,在这段时间无法插入数据,感觉这个应该是和mariadb(主主集群)机制有关系。

相关标签: 【MariaDB】