mysql互为主从 keep_centos7 keepalived+mysql互为主从高可用集群

本文介绍如何在CentOS 7环境下搭建MySQL互为主从的架构,并配置Keepalived实现高可用性集群,包括抢占模式和非抢占模式的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. mysql互为主从的架构搭建

1.1 实验环境

1.1.1 两台服务器系统均为centos7

1.1.2 服务器ip分配

MySQL Server1 : 192.168.153.135

MySQL Server2 : 192.168.153.136

1.1.3 实验之前服务器均关闭防火墙和selinux

关闭防火墙命令:

systemctl stop firewalld

关闭selinux命令:

setenforce 0

1.1.4 具体配置:centos7的和centos6相同

centos7安装数据库客户端名称为:mariadb,服务端名称为:mariadb-server

yum -y install mariadb-server mariadb

2. keepalived抢占模式配置

2.1 在两台服务器上均安装keepalived软件

yum -y install keepalived

2.2 修改Server1上keepalived的配置文件

2.2.1 修改命令

vim /etc/keepalived/keepalived.conf

2.2.2 修改内容如下:

1)将14行的vrrp_strict注释掉,注释符为!

vrrp_strict参数的含义为:

严格遵守VRRP协议。下列情况将会阻止启动Keepalived:1. 没有VIP地址。2. 单播邻居。3. 在VRRP版本2中有IPv6地址。这里需要注释掉

f4cfd4c5dac003f8c0605b1348024129.png

2)配置 vrrp_instance

f57b1ad48cd7f0fb5a504d32627d2add.png

3)配置 virtual_server

c3c59cfab521d99c1e0ab431c7132367.png

2.2.3 修改完成之后保存退出并开启keepalived服务

systemctl start keepalived

2.3 修改Server1上keepalived的配置文件

2.3.1 修改命令

vim /etc/keepalived/keepalived.conf

2.3.2 修改内容如下:

1)将14行的vrrp_strict注释掉,注释符为!

vrrp_strict参数的含义为:

严格遵守VRRP协议。下列情况将会阻止启动Keepalived:1. 没有VIP地址。2. 单播邻居。3. 在VRRP版本2中有IPv6地址。这里需要注释掉

f4cfd4c5dac003f8c0605b1348024129.png

2)配置 vrrp_instance

da11909a90c25b052f0e73e2a3a9e408.png

3)配置 virtual_server

6472d3336bf40ddaee976bd25d803318.png

2.3.3 修改完成之后保存退出并开启keepalived服务

systemctl start keepalived

3. 验证配置

3.1 在server1上VIP是否配置成功

命令:ip add

43b6e890f1de0be1c4a51d597e5db85b.png

3.2 验证VIP漂移

3.2.1 关闭server1上的mysql服务,

[root@host-135 ~]# systemctl stop mariadb

3.2.2 在server2上查看VIP漂移成功

566abc12f7fceda165c2c48d03ab778e.png

3.3 抢占模式验证

3.3.1 恢复server1上的mysql服务和keepalived服务

[root@host-135 ~]# systemctl start mariadb

[root@host-135 ~]# systemctl start keepalived

3.3.2 查看VIP抢占成功

68ed65d44bf63bd6af42b6a027d88aed.png

3.4 详细信息可追踪日志查看

命令:tailf /var/log/messages

3.4.1 server1进入master状态

f894b6dfbbb62ba4e9424481e66cab6c.png

3.4.2 server2进入backup状态

2d2d41ebd94d96203215619f178e6637.png

3.4.3 server1上的MySQL服务停掉之后,server2抢占为master

3cefc5fcfc4691b1b20e2616befec792.png

3.4.3 server1上的MySQL服务和keepalived服务恢复之后,server1重新抢占为master

6ce9141e840f71d72d09ea26f2c7ea6d.png

而server2则恢复到backup状态

f643eff172138bde0c9efa069a92e932.png

4. keepalived非抢占模式配置

4.1 修改Server1上keepalived的配置文件

4.2.1 修改命令

vim /etc/keepalived/keepalived.conf

4.2.2 修改内容如下:

将server1的状态也修改为BACKUP,再添加一行参数nopreempt

73bec67be639e663c97dce4509131203.png

修改完成之后保存退出

4.2.3 重启keepalived服务

systemctl restart keepalived

4.2 修改Server2上keepalived的配置文件

4.2.1 修改命令

vim /etc/keepalived/keepalived.conf

4.2.2 修改内容如下:

只需再添加一行参数nopreempt

3e9335f4a7258969dab274c18ec40457.png

修改完成之后保存退出

4.2.3 重启keepalived服务

systemctl restart keepalived

4.3 验证

4.3.1 验证135主机上VIP设置成功

1777379952b1421cd18e3efeecfe3078.png

4.3.2 验证VIP漂移

停掉135主机上的mysql服务

[root@host-135 ~]# systemctl stop mariadb

在136主机上查看漂移成功

0dc5beb9684e788d6cf34e94bf01b2cf.png

4.3.3 非抢占模式验证

1)恢复135主机上的mysql服务和keepalived服务

[root@host-135 ~]# systemctl start mariadb keepalived

2)在135主机上查看VIP不会漂移回来

6f27420172f3afa9f8acbb95585d962e.png

3)停掉136主机上的mysql服务VIP发生漂移

[root@host-136 ~]# systemctl stop mariadb

4)在135主机上查看VIP又会漂移回来

2dd243e3e8ae0ce72a1ab24e927329ec.png

标签:keepalived,centos7,修改,VIP,systemctl,135,mysql,mariadb

来源: https://blog.csdn.net/m0_46674735/article/details/112425808

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值