mysql主从热备+keepalived 部署mysql高可用主备模式

news2024/9/21 4:35:36

目录

1、环境准备

2、分别在主服务器和备用服务器上安装keepalived

3、修改keepalived服务的配置文件

3.1 修改主服务器上的keepalive服务的配置文件

3.2 修改备用服务器上的keepalive服务配置文件

4、编写mysql监控脚本放到主服务器上

5、在主服务器和备用服务器上查看虚拟IP是否绑定到ens33网卡上。

6、高可用验证

6.1 模拟宕机,查看虚拟IP是否漂移到备用服务器上,验证高可用效果


keepalived服务工作原理参考之前写的博文:

nginx配置实例-高可用主备模式_nginx主备模式-CSDN博客

1、环境准备

主机名IP地址说明
主服务器mysql_master192.168.81.131/24已安装且部署好mysql主从热备
备用服务器mysql_slave192.168.81.132/24已安装且部署好mysql主从热备

mysql主从热备部署参考上一篇博文:

mysql主从热备部署-CSDN博客

2、分别在主服务器和备用服务器上安装keepalived

使用yum方式安装

yum install keepalived -y 

安装好后,将keepalivd程序开启,并且加入到开机启动项中。

systemctl start keepalived
systemctl enable keeaplived

3、修改keepalived服务的配置文件

yum方式安装的配置文件在/etc/keepalived目录下。

3.1 修改主服务器上的keepalive服务的配置文件

修改配置文件前,先做好备份!!!

使用sed命令将配置文件中默认内容删除

将下面参数复制到配置文件/etc/keepalived/keepalived.conf中

[root@mysql_master ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
 
global_defs {
    notification_email {	        #设置报警邮件地址,需要开启本机postfix或者sendmail服务;
        xxx@alibaba-inc@qq.com
    }
    notification_email_from root@localhost.com	#用于设置邮件的发送地址,即报警邮件发送者;
    smtp_server 127.0.0.1	        #用于设置邮件的SMTP Server地址;
    smtp_connect_timeout 30       	#设置连接SMTP Server的超时时间;
    router_id LVS_DEVEL #LVS_DEVEL  #这字段在/etc/hosts文件中看;通过它访问到主机
}
 
vrrp_script chk_mysql {
    script /etc/keepalived/scripts/chk_mysql.sh #监控nginx脚本路径
    interval 2                   #检测时间间隔
    weight -10                   #如果条件成立的话,则权重 -10
}
 
vrrp_instance VI_1 {  
    state MASTER                 #主从状态(MASTER/BACKUP)
    interface ens33              #绑定虚拟 IP 的网络接口,注:ip addr查询
    virtual_router_id 52         #虚拟路由的 ID 号, 两个节点设置必须一样
    mcast_src_ip 192.168.81.131  #填写本机ip
    priority 100                 #主节点优先级,主要比从节点优先级高 
    #garp_master_delay 30
    advert_int 1                 #每隔1s发送一次心跳
    authentication {    
        auth_type PASS
        auth_pass 1111           #校验类型:密码=1111
    }
    # 将track_script块加入 instance 配置块
    track_script {
        chk_mysql                #执行mysql监控服务
    }
    virtual_ipaddress {
      192.168.81.138             #虚拟ip(设置虚拟ip网段需要同一个,需要根据项目去调整 )
    }
}

修改好配置后,重启keepalived服务,使得配置文件的修改内容生效。

3.2 修改备用服务器上的keepalive服务配置文件

配置步骤与3.1步骤相似,但是配置文件的内容略有不同。

[root@mysql_slave keepalived]# cat keepalived.conf
! Configuration File for keepalived
 
global_defs {
    notification_email {	                   #设置报警邮件地址,需要开启本机postfix或者sendmail服务
        xxx@alibaba-inc@qq.com
    }
    notification_email_from root@localhost.com #用于设置邮件的发送地址,即报警邮件发送者;
    smtp_server 127.0.0.1	                   #用于设置邮件的SMTP Server地址;
    smtp_connect_timeout 30	                   #设置连接SMTP Server的超时时间;
    router_id LVS_DEVEL #LVS_DEVEL             #这字段在/etc/hosts文件中看;通过它访问到主机
}
 
vrrp_script chk_mysql {
    script /etc/keepalived/scripts/chk_mysql.sh #监控mysql脚本路径
    interval 2                                 #检测时间间隔
    weight -10                                 #如果条件成立的话,则权重 -10
}
 
vrrp_instance VI_1 {
    state BACKUP                               #主从状态(MASTER/BACKUP)
    interface ens33                            #绑定虚拟 IP 的网络接口,注:ip addr查询
    virtual_router_id 52                       #虚拟路由的 ID 号, 两个节点设置必须一样
    mcast_src_ip 192.168.81.132                #填写本机ip
    priority 80                                #主节点优先级,主要比从节点优先级高
    #garp_master_delay 30
    advert_int 1                               #每隔1s发送一次心跳
    authentication {    
        auth_type PASS
        auth_pass 1111                         #校验类型:密码=1111
    }
                                               # 将track_script块加入 instance 配置块
    track_script {
        chk_mysql                              #执行mysqld监控服务
    }
    virtual_ipaddress {
      192.168.81.138                           #虚拟ip(设置虚拟ip网段需要同一个,需要根据项目去调整 )
    }
}


4、编写mysql监控脚本放到主服务器上

根据上面配置文件定义的监控路径来创建目录存放mysq服务的监控脚本。

编写监控脚本/etc/keepalived/scripts/chk_mysql.sh

#!/bin/bash

# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# + 1、此脚本为MySQL监控脚本,与keepalived组件配合使用
# + 2、keepalived配置文件:/etc/keepalived/keepalived.conf
# + 3、脚本输出日志/etc/keepalived/check_service.log
# + 4、默认脚本路径在/etc/keepalived/scripts下,需要改变路径,请修改keepalived配置
# + 5、创建此脚本后请赋予可执行权限chmod +x /etc/keepalived/scripts/chk_mysql.sh
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# 基础参数
DATE=`date +%Y%m%d`
logPath=/etc/keepalived

# 检测MySQL进程是否正常运行
A=`ps -C mysqld --no-header | wc -l`
#将脚本中的输出内容同时输出到终端和指定的日志文件中,并以追加的方式写入日志文件。这样可以方便查看脚本的输出并记录日志信息。
echo "$(date +%Y-%m-%d' '%H:%M:%S) MySQL进程数:$A" | tee -a ${logPath}/check_service.log
if [ $A -eq 0 ]; then
    # 如果MySQL进程宕机了,尝试重启MySQL
    systemctl start mysqld
    # 等待一小会再次检查MySQL,如果没有启动成功,则停止keepalived,使其启动备用机
    sleep 3
    if [ `ps -C mysqld --no-header | wc -l` -eq 0 ]; then
        echo "$(date +%Y-%m-%d' '%H:%M:%S) MySQL已停止!停止keepalived!" | tee -a ${logPath}/check_service.log
        systemctl stop keepalived
        exit 1
    fi
else
    echo "$(date +%Y-%m-%d' '%H:%M:%S) MySQL正在运行!" | tee -a ${logPath}/check_service.log
    exit 0
fi

编写并调试好后,给脚本添加可执行权限。

然后重启备份服务器上的keepalived服务,确定虚拟IP地址绑定到主服务器上的网卡上。

5、在主服务器和备用服务器上查看虚拟IP是否绑定到ens33网卡上。

6、高可用验证

6.1 模拟宕机,查看虚拟IP是否漂移到备用服务器上,验证高可用效果

方法1:systemctl stop mysqld,停止mysqld服务

方法2:kill杀死mysqld的运行进程,停止mysqld服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1679147.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工厂自动化升级改造(3)-Modbus与MQTT的转换

什么是MQTT,Modbus,见下面文章 工厂自动化升级改造参考(01)--设备通信协议详解及选型-CSDN博客文章浏览阅读608次,点赞9次,收藏6次。>>特点:基于标准的以太网技术,使用TCP/IP协议栈,支持高速数据传输和局域网内的设备通信。>>>特点:跨平台的通信协议,…

【Java基础】集合(2) —— List

List 存储的对象是有序的&#xff08;集合中存储对象的顺序和使用add方法添加对象的顺序一致&#xff09;&#xff0c;存储的对象是可重复的。 List的特有的功能: 都是可以操作索引的功能。 增: void add(int index, E element )boolean addAll(int index, Collection<? …

全面提升数据采集效率:IP代理产品的应用与评估详解

全面提升数据采集效率&#xff1a;IP代理产品的应用与评估详解 文章目录 全面提升数据采集效率&#xff1a;IP代理产品的应用与评估详解背景应用场景&#xff1a;平台首页信息抓取准备评测素材详细的产品使用和评测流程产品介绍亮数据的IP代理服务亮数据的爬虫工具及采集技术 注…

MFC通过继承现有控件自定义控件

在MFC 自定义控件&#xff0c;可以通过继承MFC提供的控件类&#xff08;如CButton、CEdit、CListBox等&#xff09;并重写其成员函数和消息处理函数来实现。 以下是一个基本的步骤指南&#xff0c;用于在MFC中创建自定义控件&#xff1a; 确定要继承的基类&#xff1a; 首先…

AutoNeRF:Training Implicit Scene Representations with Autonomous Agents

论文概述 《AutoNeRF》是由Pierre Marza等人撰写的一篇研究论文&#xff0c;旨在通过自主智能体收集数据来训练隐式场景表示&#xff08;如神经辐射场&#xff0c;NeRF&#xff09;。传统的NeRF训练通常需要人为的数据收集&#xff0c;而AutoNeRF则提出了一种使用自主智能体高效…

大模型来了,创业者怎么做出好产品?

大模型的问世惊艳了人们的目光&#xff0c;打开了对AI想象力——生成未来&#xff0c;是谁的未来&#xff1f; “电的发明并不是只能让爱迪生的公司成为全球最大公司&#xff0c;而是为众多电器制造商也提供了巨大的商机。从人类科技史的角度来看&#xff0c;应用层面的价值往…

C++列表实现

文章目录 一、listView相关内容主要思想实例全部代码 二、QTreeView 一、listView 相关内容 QAbstractItemModel&#xff1a;一个抽象的类&#xff0c;为数据项模型提供抽象的接口&#xff0c;常见的的数据模型列如&#xff1a;QStringListModel,QStandardItemMode,QDirModel…

第一个fyne应用

第一个fyne应用 由于在写一个milvus的图形化工具&#xff0c;方便客户端使用&#xff0c;调研了一下只有这fyne的go-gui的star最多&#xff0c;比较流行&#xff0c;因此打算使用这个框架来进行milvus的工具开发。 第一个fyne应用 依赖go.mod: module fynedemogo 1.20requi…

BGP学习三:BGP路由优选12条规则,闪亮登场啦啦啦啦啦

目录 一.BGP策略工具 &#xff08;1&#xff09;Router-policy作用 &#xff08;2&#xff09;组成部分 &#xff08;3&#xff09;router-policy注意事项 二.优选规则 ①丢弃下一跳不可达 (1)优选prefered-value值大的路由 1.首选优先级 (2)优选local-preference(本地…

绿色消费新趋势:共享购模式的积分革命

在当今绿色消费风潮中&#xff0c;一种名为共享购的新模式正悄然兴起&#xff0c;它通过创新的绿色积分机制&#xff0c;不仅鼓励了消费者的绿色消费行为&#xff0c;还为消费者和商家带来了更多的实惠与额外收益。 传统积分机制的局限 在传统的消费积分模式中&#xff0c;消费…

VMware Workstation 安装CentOS Linux操作系统

1.我们已经下载好VMware 创建新的虚拟机 2.选择典型 3.安装程序光盘映像文件 4.配置用户名密码 5.命名虚拟机&#xff0c;并确定位置 6.如图所示设置 7.等待&#xff08;时间会有点久&#xff09; 8.输入密码登入账号

高德、百度开车导航APP是怎么知道红绿灯倒计时的?

高德、百度开车导航APP之所以能够知道红绿灯的倒计时&#xff0c;这背后是一系列复杂的科技手段和数据分析的综合运用。从交管部门提供的数据&#xff0c;到导航软件自身通过大数据和算法进行的计算&#xff0c;每一个环节都为红绿灯倒计时的准确呈现提供了支撑。 首先&#xf…

XMind 头脑风暴/思维导图软件_V24.04.10291 PC高级版

一款风靡全球的头脑风暴和思维导图软件&#xff0c;为激发灵感和创意而生。在国内使用广泛&#xff0c;拥有强大的功能&#xff0c;包括思维管理&#xff0c;商务演示&#xff0c;与办公软件协同工作等功能。XMind中文版采用全球先进的Eclipse RCP软件架构&#xff0c;是集思维…

搞大事!法国邀请芬兰公司建量子工厂

法国当地时间5月13日&#xff0c;法国总统马克龙宣布启动2024年度“选择法国”&#xff08;Choose France&#xff09;商业峰会。今年峰会召开前&#xff0c;法国赢得了创纪录的150亿欧元外国投资承诺&#xff0c;覆盖从人工智能到制药和能源等领域。 而涉及到量子领域最重磅的…

技术架构

一、单机架构 简介&#xff1a;应用服务和数据库服务共用一台服务器 出现原因:出现在互联网早期&#xff0c;访问量比较小&#xff0c;单机足以满足 架构工作原理&#xff1a;以电商为例&#xff0c;可以看到通过应用&#xff08;划分了多个模块&#xff09;和数据库在单个服…

能自动化视频剪辑的开源工具来了 剪辑师、自媒体作者狂喜

项目简介 Funclip 是阿里巴巴通义实验室开源的一款视频剪辑工具&#xff0c;专门用于精准、便捷的视频切片。 它能够自动识别视频中的中文语音并允许用户根据语音内容来裁剪视频。该工具使用了阿里巴巴语音识别模型FunASR Paraformer-Large确保了剪辑的精准性。 你可以根据识…

聚鼎科技:装饰画行业到底怎么样

在当代社会&#xff0c;随着人们审美水平的提升和生活品质的追求&#xff0c;装饰画行业呈现出蓬勃的发展态势。这一行业不仅关系到文化艺术的传承与创新&#xff0c;也与市场经济紧密相连&#xff0c;其前景值得深入探讨。 装饰画行业的市场潜力巨大&#xff0c;它贯穿于家居装…

其它高阶数据结构②_图(概念+存储+遍历+最小生成树)

目录 1. 图的概念 2. 图的存储结构 2.1 邻接矩阵&#xff08;后面算法所用&#xff09; 2.2 邻接表 3. 图的遍历 3.1 BFS广度优先遍历 3.2 DFS深度优先遍历 4. 最小生成树 4.1 Kruskal算法 4.2 Prim算法 本篇完。 1. 图的概念 图是由顶点集合及顶点间的关系组成的一…

AI 绘画神器 Fooocus 图生图:图像放大或变化、图像提示、图像重绘或扩充、反推提示词、生成参数提取、所需模型下载

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 大家好&#xff0c;我是水滴~~ 本文讲述 Fooocus 的图生图功能&#xff0c;主要内容包括&#xff1a;图像放大或变化、图像提示、图像重绘或扩充、反推…

没有疯狂内卷的日本智能机市场,小屏与设计仍旧是主流

如果聊起国内的智能机市场&#xff0c;我想大多数人的印象就是疯狂内卷。卷影像、卷屏幕、卷快充、卷性能……客观地说&#xff0c;国内的3C产品还是很有质价比的。不过在没有如此内卷的日本市场&#xff0c;各种小屏手机仍旧是主流。 除了苹果外&#xff0c;日本本土品牌的夏普…