当前位置: 首页 > news >正文

mysql双主互从通过KeepAlived虚拟IP实现高可用

mysql双主互从通过KeepAlived虚拟IP实现高可用

在mysql 双主互从的基础上,
架构图:
请添加图片描述
Keepalived有两个主要的功能:

  • 提供虚拟IP,实现双机热备
  • 通过LVS,实现负载均衡

安装

# 安装
yum -y install keepalived 
# 卸载
yum remove keepalived 

修改 keepalived 配置文件

cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.original
vi /etc/keepalived/keepalived.conf

master

keepalived.conf

global_defs {router_id LVS_1script_user root
}vrrp_script check_mysql_port {script "/etc/keepalived/check_mysql_port.sh"    # 脚本存放的位置interval 2     # 每隔两秒运行上一行脚本weight 2
}vrrp_instance VI_1 {# 主机=MASTER;备用机=BACKUPstate MASTER# 该实例绑定的网卡名称interface ens192# 保证主备节点一致virtual_router_id 148# 权重,master值 > backup值priority 100# 主备组播报发送间隔时间1秒advert_int 1# 认证权限密码,防止非法节点进入authentication {auth_type PASSauth_pass 1111}	# 虚拟出来的ip,可以有多个(vip)virtual_ipaddress {178.119.30.13}# 调用监控脚本track_script {check_mysql_port}
}

检测xxx.sh

check_mysql_port.sh

安装killall 命令

# 查询
yum search killall
# 安装对应组件
yum install psmisc -y

安装netstat

yum install -y net-tools
#!/bin/bash
A=`netstat -nltp|grep 3306|wc -l`
if [ $A -eq 2 ];
thenecho "$host mysql login successfully"exit 0
elseecho "mysql login failed"killall keepalivedexit 2
fi

修改脚本xxx.sh权限

chmod 777 check_mysql_port.sh

slave

keepalived.conf

global_defs {router_id LVS_1script_user root
}vrrp_script check_mysql_port {script "/etc/keepalived/check_mysql_port.sh"    # 脚本存放的位置interval 2     # 每隔两秒运行上一行脚本weight 2
}vrrp_instance VI_1 {# 主机=MASTER;备用机=BACKUPstate BACKUP# 该实例绑定的网卡名称interface ens192# 保证主备节点一致virtual_router_id 148# 权重,master值 > backup值priority 80# 主备组播报发送间隔时间1秒advert_int 1# 认证权限密码,防止非法节点进入authentication {auth_type PASSauth_pass 1111}	# 虚拟出来的ip,可以有多个(vip)virtual_ipaddress {178.119.30.13}# 调用监控脚本track_script {check_mysql_port}
}

master VS slave

在这里插入图片描述

结果展示

启动keepalived

  • master

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • slave

在这里插入图片描述

停止容器,使vip飘移

  • master
    在这里插入图片描述
    在这里插入图片描述
  • slave
    在这里插入图片描述
    在这里插入图片描述

systemctl 命令

# 启动 keepalived
systemctl start keepalived  # 加入开机启动 keepalived
systemctl enable keepalived # 重新启动 keepalived
systemctl restart keepalived  # 查看 keepalived 状态
systemctl status keepalived   # 加载配置文件
systemctl daemon-reload

service VS systemctl

在这里插入图片描述

相关文章:

mysql双主互从通过KeepAlived虚拟IP实现高可用

mysql双主互从通过KeepAlived虚拟IP实现高可用 在mysql 双主互从的基础上, 架构图: Keepalived有两个主要的功能: 提供虚拟IP,实现双机热备通过LVS,实现负载均衡 安装 # 安装 yum -y install keepalived # 卸载 …...

​苹果应用高版本出现:“无法安装此app,因为无法验证其完整性”是怎么回事?竟然是错误的?

最近经常有同学私聊我问苹果应用签名后用落地页下载出现高版本是什么意思?我一脸懵!还有这个操作?高版本是个啥玩意!所以我就上了一下科技去搜索引擎搜索了下,哈哈哈,然后了解下来发现是这样的首先我们确定…...

AF_UNIX和127.0.0.1(AF_INET)回环地址写数据速度对比

在linux下,存在着这样的情况,本地的进程间通信,并且其中一个是服务端,另外的都是客户端。 服务端通过绑定端口,客户端往127.0.0.1的对应端口发送,即可办到,不过这样会浪费一个端口,同…...

我在 NPM 发布了新包: con-colors

链接地址:npmjs.com con-colors 安装依赖 yarn add con-colors使用 导入: import { print } from "con-colors";使用: print.succ("成功的消息"); print.err("失败的消息")例子: import { p…...

【python数据建模】Scipy库

常用模块列表 模块名功能scipy.constants数学常量scipy.fft离散傅里叶变换scipy.integrate积分scipy.interpolate插值scipy.interpolate线性代数scipy.cluster聚类分析、向量量化scipy.io数据输入输出scipy.misc图像处理scipy.ndimagen维图像scipy.odr正交距离回归scipy.optim…...

C# App.xaml.cs的一些操作

一、保证只有一个进程 1.1 关闭旧的,打开新的 protected override void OnStartup(StartupEventArgs e) {base.OnStartup(e);var process Process.GetProcessesByName("Dog");if (process.Count() > 1) {var list process.ToList();list.Sort((p1,p2…...

【ORACLE】ORA-00972:标识符过长

问题 执行创建表结构sql,提示 ORA-00972:标识符过长; 如图所示,约束名称超过30个字符了 原因 一、11G and before 在使用11G数据库时,经常会遇到报错ORA-00972,原因是因为对象名称定义太长&#xff0c…...

【Vue】Vue快速入门、Vue常用指令、Vue的生命周期

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 Vue 一、 Vue快速入门二、Vue常用指令2.1 v…...

Pandas 数据处理 类别数据和数值数据

要是作深度学习的话,可以直接用tensoflow框架的预处理层,我试过,比PyTorch自己写出来的会好一点,主要是简单好用。处理CSV文件 它类别的处理逻辑是onehot,比较标准稀疏,数值的话就是归一化了。 有时候不需…...

Android攻城狮学鸿蒙 -- 点击事件

具体参考:华为官网学习地址 1、点击事件,界面跳转 对于一个按钮设置点击事件,跳转页面。但是onclick中,如果pages前边加上“/”,就没法跳转。但是开发工具加上“/”才会给出提示。不知道是不是开发工具的bug。&#…...

jmeter性能测试常见的一些问题

一、request 请求超时设置 timeout 超时时间是可以手动设置的,新建一个 http 请求,在“高级”设置中找到“超时”设置,设置连接、响应时间为2000ms。 1. 请求连接超时,连不上服务器。 现象: Jmeter表现形式为&#xff…...

利用国外 vps 为 switch 设置代理服务器加速游戏下载

switch 在国内通过 wifi 连网后如果直接下载游戏的话速度特别慢,据说要挂一个晚上才能下载成功一个游戏。当我尝试下载时发现进度条基本不动,怀疑软件源是在国外的原因,于是想到可以通过国外 vps 代理中转的方式。具体步骤如下(以…...

云计算安全的新挑战:零信任架构的应用

文章目录 云计算的安全挑战什么是零信任架构?零信任架构的应用1. 多因素身份验证(MFA)2. 访问控制和策略3. 安全信息和事件管理(SIEM)4. 安全的应用程序开发 零信任架构的未来 🎉欢迎来到云计算技术应用专栏…...

基于SSM的药房药品采购集中管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...

【GIT版本控制】--远程仓库

一、连接远程仓库 连接到远程仓库是在GIT中进行协作和备份的关键步骤。以下是连接到远程仓库的基本步骤: 获取远程仓库的URL:首先,你需要获得远程仓库的URL。通常,这是远程仓库提供给你的,可以是HTTPS或SSH URL。例如…...

1:Allotment,2:FeeSell,3:混合Allotment+FreeSell

根据您的描述,这似乎是与酒店预订相关的三种不同的方式。下面是对这三种方式的解释: Allotment(配额):这是一种酒店预订方式,其中您可以与酒店签订协议,并购买其一定数量的房间或床位。在此之后…...

NFT Insider#110:The Sandbox与TB Media Global合作,YGG Web3游戏峰会阵容揭晓

引言:NFT Insider由NFT收藏组织WHALE Members、BeepCrypto出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周报将从NFT市场数据,艺术新闻类,游戏新闻类,虚拟世界类&#xff0…...

在硅云上主机搭建wordpress并使用Astra主题和avada主题

目录 前言 准备 操作 DNS解析域名 云主机绑定域名 安装wordpress网站程序 网站内Astra主题设计操作 安装主题 网站内avada主题安装 上传插件 上传主题 选择网站主题 前言 一开始以为云虚拟主机和云服务器是一个东西,只不过前者是虚拟的后者是不是虚拟的…...

基于SSM+Vue的物流管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:VueHTML 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 …...

【洛谷】P1114 “非常男女”计划

思路&#xff1a;思路和上一篇一模一样哒~&#xff08;这里就不多解释啦&#xff09; ACcode: #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N 2e510; int n,a[N],f[N]; int main() { ios::sync_with_st…...

Claude Code高效开发指南:精选工具、技能与工作流实践

1. 项目概述&#xff1a;一个为Claude Code开发者量身定制的“军火库”如果你正在使用Claude Code进行开发&#xff0c;并且已经度过了最初的新鲜感&#xff0c;开始思考如何让它真正成为你工作流中不可或缺的、高效且可靠的伙伴&#xff0c;那么你很可能已经遇到了一个核心问题…...

录音转文字在线版有哪些?这几款免费录音转文字在线工具怎么选?

很多人做录音转文字的时候默认用专业级的转录服务,其实像提词匠这样的轻量工具已经够用了。特别是如果你只是偶尔需要把会议录音、课堂笔记、视频素材转成文字,不必非要上手深度学习复杂的专业软件。下面我梳理了目前市面上主流的录音转文字在线版工具,既有微信小程序也有网页版…...

终极指南:如何在3分钟内找到2000+高质量公开数据集

终极指南&#xff1a;如何在3分钟内找到2000高质量公开数据集 【免费下载链接】awesome-public-datasets A topic-centric list of HQ open datasets. 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-public-datasets 你是否曾为寻找高质量公开数据集而苦恼…...

告别玄学烧录:手把手教你排查i.MX6Q的Mfgtools‘Push Error’与设备识别问题

嵌入式工程师实战指南&#xff1a;i.MX6Q烧录故障的模块化诊断方法论 当Mfgtools的进度条突然卡住&#xff0c;红色错误提示框弹出"Push Error"时&#xff0c;许多工程师的第一反应是反复插拔USB线——这种条件反射式的操作往往掩盖了真正的系统性问题。i.MX6Q的烧录…...

如何3分钟为Windows 11 LTSC系统恢复微软商店:一键安装完整指南

如何3分钟为Windows 11 LTSC系统恢复微软商店&#xff1a;一键安装完整指南 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore 你是否正在使用Windows 11…...

特斯拉Model 3车主必看:用华为随行WiFi+流量卡,低成本搞定车载WiFi(附Type-C供电方案)

特斯拉Model 3车主必看&#xff1a;低成本车载WiFi实战指南 特斯拉Model 3的车载娱乐系统依赖网络连接&#xff0c;但官方高级娱乐服务的月费让不少车主犹豫。更糟的是&#xff0c;部分地区的4G信号覆盖不佳&#xff0c;导致在线音乐、实时路况等功能形同虚设。本文将分享一套经…...

AssetRipper完整指南:从游戏资源提取到Unity项目重建的终极工具

AssetRipper完整指南&#xff1a;从游戏资源提取到Unity项目重建的终极工具 【免费下载链接】AssetRipper GUI Application to work with engine assets, asset bundles, and serialized files 项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper AssetRipp…...

Unity 2D游戏开发:用Cinemachine 2D Camera实现平滑镜头跟随,告别手动写代码

Unity 2D游戏开发&#xff1a;用Cinemachine 2D Camera实现平滑镜头跟随&#xff0c;告别手动写代码 在2D游戏开发中&#xff0c;摄像机跟随是最基础却又最容易出问题的功能之一。很多开发者习惯用代码手动控制摄像机的位置更新&#xff0c;却常常陷入边界抖动、跟随延迟不自然…...

python在生活中的实际应用

1.Python的简洁语法适合教学编程基础。科研中&#xff0c;NumPy和SciPy用于数值模拟&#xff0c;SymPy进行符号计算&#xff0c;例如推导物理公式或分析实验数据曲线。2.Pygame库允许快速开发2D游戏或交互式应用。教育领域常用Python编写数学模拟程序&#xff08;如分形生成&am…...

Midjourney葡萄酒视觉叙事术(从葡萄藤到酒标的一站式AI印相工作流)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney葡萄酒视觉叙事术&#xff08;从葡萄藤到酒标的一站式AI印相工作流&#xff09; 在数字酒庄时代&#xff0c;视觉叙事已成为品牌差异化的核心引擎。Midjourney 不再仅是图像生成工具&#xf…...