Keepalived+MySQL 高可用集群

基础架构如下
在这里插入图片描述
准备干净的实验环境

[root@mysql1 ~]# systemctl stop firewalld
[root@mysql1 ~]# cat /etc/sysconfig/selinux |grep "SELINUX=disabled"
SELINUX=disabled
[root@mysql1 ~]# setenforce 0              
setenforce: SELinux is disabled
[root@mysql1 ~]# getenforce                
Disabled

首先,搭建221和222机器mysql互为主从

这里可以参考我之前的帖子mysql主从复制
mysql双主双从

我们本次实验只是两台机器互为主从,即互为master和slave

搭建完成后登录mysql 可以查看状态:
mysql1机器:
在这里插入图片描述
mysql2:
在这里插入图片描述
可以自行验证修改数据,两边数据库是否同步


随后
开始安装配置 keepalived (mysql1& mysql2)

mysql1:

[root@mysql1 ~]# yum -y install keepalived
[root@mysql1 ~]# vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {router_id mysql1script_user rootenable_script_securityuser root
}vrrp_script check_run {script "/etc/keepalived/keepalived_check_mysql.sh"interval 5weight 2
}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 88priority 100advert_int 1authentication {auth_type PASSauth_pass yryr}track_script {check_run}virtual_ipaddress {192.168.29.100/24 dev ens33 label ens33:1}
}

mysql2:

[root@mysql2 ~]# yum -y install keepalived
[root@mysql2 ~]# vim /etc/keepalived/keepalived.conf! Configuration File for keepalived
global_defs {router_id mysql2script_user rootenable_script_security
}vrrp_script check_run {script "/etc/keepalived/keepalived_check_mysql.sh"interval 5weight 2
}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 88priority 50advert_int 1authentication {auth_type PASSauth_pass yryr}track_script {check_run}virtual_ipaddress {192.168.29.100/24 dev ens33 label ens33:1}
}

两台机器上keepalived都配置了一个mysql的检查脚本 ,现在我们来加上:

[root@mysql2 ~]# vim /etc/keepalived/keepalived_check_mysql.sh#!/bin/bash
MYSQL=/usr/bin/mysql
MYSQL_HOST=localhost 
MYSQL_USER=root 
MYSQL_PASSWORD=123456
CHECK_TIME=3MYSQL_OK=1check_mysql_helth (){ echo "Checking MySQL at $(date)" >> /var/log/keepalived_mysql_check.log$MYSQL -h $MYSQL_HOST -u $MYSQL_USER -p${MYSQL_PASSWORD} -e "show status" >> /var/log/keepalived_mysql_check.log 2>&1if [ $? -eq 0 ]; then MYSQL_OK=1else MYSQL_OK=0 fi return $MYSQL_OK 
}while [ $CHECK_TIME -ne 0 ]; do check_mysql_helth if [ $MYSQL_OK -eq 1 ]; then exit 0 filet CHECK_TIME--sleep 1 
doneecho "MySQL health check failed at $(date)" >> /var/log/keepalived_mysql_check.log
/usr/bin/systemctl stop keepalived
exit 1

授权:

[root@mysql1 ~]# chmod +x /etc/keepalived/keepalived_check_mysql.sh

重启服务:

[root@mysql1 local]# systemctl restart keepalived[root@mysql2 local]# systemctl restart keepalived

查看:
可以看到我们的vip 100 已经飘到 master机器上

[root@mysql1 local]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:5f:08:ee brd ff:ff:ff:ff:ff:ffinet 192.168.29.221/24 brd 192.168.29.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet 192.168.29.100/24 scope global secondary ens33:1valid_lft forever preferred_lft foreverinet6 fe80::b09a:b99e:bc92:62ee/64 scope link tentative noprefixroute dadfailed valid_lft forever preferred_lft foreverinet6 fe80::9073:a63f:e689:8462/64 scope link noprefixroute valid_lft forever preferred_lft forever

后续可以停止mysql 服务来验证vip状态~

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

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

相关文章

IoT网关的主要功能有哪些?天拓四方

在数字化浪潮席卷全球的今天&#xff0c;物联网&#xff08;IoT&#xff09;技术凭借其独特的优势&#xff0c;逐渐在各个领域展现出强大的生命力。而IoT网关&#xff0c;作为连接物理世界与数字世界的桥梁&#xff0c;其在物联网体系中的作用愈发凸显。 一、数据聚合与预处理…

acw(树的重心)

给定一颗树&#xff0c;树中包含 n&#x1d45b; 个结点&#xff08;编号 1∼n1∼&#x1d45b;&#xff09;和 n−1&#x1d45b;−1 条无向边。 请你找到树的重心&#xff0c;并输出将重心删除后&#xff0c;剩余各个连通块中点数的最大值。 重心定义&#xff1a;重心是指树…

《论文阅读》 用于产生移情反应的迭代联想记忆模型 ACL2024

《论文阅读》 用于产生移情反应的迭代联想记忆模型 ACL2024 前言简介任务定义模型架构Encoding Dialogue InformationCapturing Associated InformationPredicting Emotion and Generating Response损失函数问题前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦…

C++杂项

作业&#xff1a; 将之前实现的顺序表、栈、队列都更改成模板类 顺序表 #include <iostream>using namespace std;template<typename T>class SeqList { private:T *ptr;int size; //总长度int len 0; //当前顺序表实际长度public://初始…

误差不到1毫米的WGS84与CGCS2000坐标转换工具

我们在《WGS84与CGCS2000坐标的精密转换方法》一文中为你分享了一个WGS84与CGCS2000坐标的精密转换纯理论性的方法。 现在&#xff0c;再为你分享一个据说是误差不到1毫米的WGS84与CGCS2000坐标的转换工具&#xff0c;请从文末查看该工具的领取方法。 WGS84与CGCS2000坐标转换…

人工智能有助于解决 IT/OT 集成安全挑战

思科的一项研究表明&#xff0c;信息技术 (IT) 和运营技术 (OT) 融合所带来的安全问题可以通过人工智能 (AI) 解决&#xff0c;尽管该技术也可能被恶意行为者利用。 该报告由思科和 Sapio Research 联合发布&#xff0c;对 17 个国家的 1,000 名行业专业人士进行了调查&#x…

AWS Network Firewall -NAT网关配置只应许白名单域名出入站

1. 创建防火墙 选择防火墙的归属子网(选择公有子网) 2. 创建规则白名单域名放行 3. 绑定相关规则

HCIP--以太网交换安全(一)

以太网交换安全概述&#xff1a;以太网交换安全是一系列技术和策略的集合&#xff0c;旨在保护以太网交换机免受各种网络攻击和威胁。 端口隔离 一、端口隔离概述&#xff1a; 作用&#xff1a;可以实现同一个VLAN内端口的隔离 优势&#xff1a; 端口隔离功能为用户提供了更…

UE5: Content browser工具编写02

DebugHeader.h 中的全局变量&#xff0c;已经在一个cpp file中被include了&#xff0c;如果在另一个cpp file中再include它&#xff0c;就会有一些conflicts。先全部给加一个static Add static keyword to debug functionsWrap all the functions inside of a namespaceprint …

锐尔15注册机 锐尔文档扫描影像处理系统15功能介绍

锐尔文档扫描影像处理系统是一款全中文操作界面的文件、档案扫描及影像优化处理软件&#xff0c;是目前国内档案数字化行业里专业且优秀的影像优化处理软件。 无论是从纸质文件制作高质量的影像文件&#xff0c;或是检查已经制作好的影像文件&#xff0c;锐尔文档扫描影像处理…

大数据新视界 --大数据大厂之 Druid 实时数据分析平台在大数据中的应用

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

在Windows系统上安装的 Arrow C++ 库

在Windows系统上安装的 Arrow C 库 正文第一步第二步第三步第四步注: 检查是否安装成功 吐槽 正文 第一步 git clone gitgithub.com:apache/arrow.git第二步 打开powershell (好像cmd也可以,不过我试了powershell中不报错,cmd中报错,不是很清楚为什么) 打开arrow的目录 cd …

贝锐洋葱头浏览器随时随地访问教务系统,轻松搞定选课

教育网的“拥堵”早已是老生常谈&#xff0c;学生数量庞大、上网时间集中、带宽有限&#xff0c;导致网络速度慢。尤其是从外部网络访问教育网时&#xff0c;更是因为跨运营商的缘故变得缓慢。 而学校内网也是类似的情况&#xff0c;课余时间和上课时间的网络使用情况差别巨大…

xpath在爬虫中的应用、xpath插件的安装及使用

安装 1、打开谷歌浏览器进入扩展程序安装页面(右上角会有"开发者模式按钮")默认是关闭的&#xff0c;当安装此插件时需要把开发者模式打开。 2、下载下来的xpath_helper是zip格式的&#xff0c;需要解压缩即可安装。 3、重启浏览器&#xff0c;再次点击扩展程序即…

C++八股进阶

之前那个只是总结了一下常考点&#xff0c;这个是纯手打记笔记加深理解 这里写目录标题 C的四种智能指针为什么要使用智能指针&#xff1f;四种智能指针&#xff1a; C中的内存分配情况C中的指针参数传递和引用参数传递C 中 const 和 static 关键字&#xff08;定义&#xff0…

NLP 序列标注任务核心梳理

句向量标注 用 bert 生成句向量用 lstm 或 bert 承接 bert 的输出&#xff0c;保证模型可以学习到内容的连续性。此时 lstm 输入形状为&#xff1a; pooled_output.unsqueeze(0) (1, num_sentence, vector_size) 应用场景 词性标注句法分析 文本加标点 相当于粗粒度的分词任…

(done) 声音信号处理基础知识(4) (Understanding Audio Signals for ML)

来源&#xff1a;https://www.youtube.com/watch?vdaB9naGBVv4 模拟信号特点如下 时域连续(x轴) 振幅连续(y轴) 如下是模拟信号的一个例子&#xff1a; 数字信号特点如下&#xff1a; 一个离散值序列 数据点的值域是一系列有限的值 ADC&#xff1a;模拟信号到数字信号的…

【WRF运行第三期】服务器上运行WRF模型(官网案例-Hurricane Matthew)

【WRF运行第三期】运行WRF模型&#xff08;官网案例-Hurricane Matthew&#xff09; 官网案例-Hurricane Matthew介绍0 创建DATA文件夹1 WPS预处理1.1 解压GRIB数据&#xff08;ungrib.exe&#xff09;1.1.1 解压GRIB数据---GFS&#xff08;Matthew案例研究数据&#xff09;1.1…

vue打包exe之electron-quick-start的npm install 报错

vue打包exe之electron-quick-start的npm install 报错 1、github地址2、问题3、解决4、其他(打包exe)参考 1、github地址 https://github.com/electron/electron-quick-start2、问题 我使用的pnpm install正常安装&#xff0c;执行npm start提示错误 3、解决 在package.js…

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23 本期&#xff0c;我们对大语言模型在表情推荐, 软件安全和 自动化软件漏洞检测等方面如何应用&#xff0c;提供几篇最新的参考文章。 1 Semantics Preserving Emoji Recommendation with Large Language Mod…