mysql双主双从读写分离

news2024/9/22 19:41:25

架构图:
在这里插入图片描述
详细内容参考:

在这里插入图片描述

结果展示:

  • 178.119.30.16(从)- master

在这里插入图片描述

  • 178.119.30.17(从)- slave

在这里插入图片描述
由上述结果可以看出,产生了主备节点同时抢占VIP的问题(即脑裂问题)

解决方法:

#通过配置来指定IP的两台服务器间进行单播通讯
		# 本地IP地址
        unicast_src_ip 178.119.30.16
        # 对端IP地址
        unicast_peer {
    178.119.30.17
        }
  • master

vim keepalived.conf

global_defs {
        router_id LVS_1
        script_user root
}

vrrp_script check_mysql_port {
        script "/etc/keepalived/check_mysql_port.sh"    # 脚本存放的位置
        interval 2     # 每隔两秒运行上一行脚本
        weight 2
}


vrrp_instance VI_1 {
    # 主机=MASTER;备用机=BACKUP
        state MASTER
    # 该实例绑定的网卡名称
        interface ens192
    # 保证主备节点一致
        virtual_router_id 150
    # 权重,master值 > backup值
        priority 100
    # 主备组播报发送间隔时间1秒
        advert_int 1

        unicast_src_ip 178.119.30.16
        unicast_peer {
    178.119.30.17
        }
    	# 认证权限密码,防止非法节点进入
    	authentication {
    auth_type PASS
    auth_pass 1111
        }
    # 虚拟出来的ip,可以有多个(vip)
        virtual_ipaddress {
    178.119.30.18
        }
    # 调用监控脚本
        track_script {
    check_mysql_port
        }
}
  • slave

vim keepalived.conf

global_defs {
        router_id LVS_1
        script_user root
}

vrrp_script check_mysql_port {
        script "/etc/keepalived/check_mysql_port.sh"    # 脚本存放的位置
        interval 2     # 每隔两秒运行上一行脚本
        weight 2
}


vrrp_instance VI_1 {
    # 主机=MASTER;备用机=BACKUP
        state BACKUP
    # 该实例绑定的网卡名称
        interface ens192
    # 保证主备节点一致
        virtual_router_id 150
    # 权重,master值 > backup值
        priority 50  
    # 主i备组播报发送间隔时间1秒
        advert_int 1 
        unicast_src_ip 178.119.30.17
        unicast_peer { 
    178.119.30.16
        }
    # 认证权限密码,防止非法节点进入
        authentication {
    auth_type PASS
    auth_pass 1111
        }       
    # 虚拟出来的ip,可以有多个(vip)
        virtual_ipaddress { 
    178.119.30.18
        }
    # 调用监控脚本
        track_script {
    check_mysql_port 
        }
}  

结果展示:

  • 178.119.30.16(从)- master

在这里插入图片描述

  • 178.119.30.17(从)- slave

在这里插入图片描述
VIP 漂移测试

systemctl stop keepalived
  • 178.119.30.16(从)- master

在这里插入图片描述

  • 178.119.30.17(从)- slave

在这里插入图片描述

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

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

相关文章

Python无废话-办公自动化Excel格式美化

设置字体 在使用openpyxl 处理excel 设置格式,需要导入Font类,设置Font初始化参数,常见参数如下: 关键字参数 数据类型 描述 name 字符串 字体名称,如Calibri或Times New Roman size 整型 大小点数 bold …

Ae 效果:CC Page Turn

扭曲/CC Page Turn Distort/CC Page Turn CC Page Turn (CC 翻页)主要用于模拟书页翻动的效果。通过使用该效果,用户可以创建出像书页或杂志页面翻动的视觉效果,增强影片的交互性和视觉吸引力。 ◆ ◆ ◆ 效果属性说明 Contro…

3D孪生场景搭建:参数化模型

1、什么是参数化模型 参数化模型是指通过一组参数来定义其形状和特征的数学模型或几何模型。这些参数可以用于控制模型的大小、形状、比例、位置、旋转、曲率等属性,从而实现对模型进行灵活的调整和变形。 在计算机图形学和三维建模领域,常见的参数化模…

获取医疗器械板块的个股列表

获取医疗器械板块的个股列表,用python爬虫做到(数据网址:板块 - 医疗器械概念 - 股票行情中心 - 搜狐证券) import requests from bs4 import BeautifulSoup # 获取医疗器械概念个股列表url "https://q.stock.sohu.com/cn/…

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

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

《Secure Analytics-Federated Learning and Secure Aggregation》论文阅读

背景 机器学习模型对数据的分析具有很大的优势,很多敏感数据分布在用户各自的终端。若大规模收集用户的敏感数据具有泄露的风险。 对于安全分析的一般背景就是认为有n方有敏感数据,并且不愿意分享他们的数据,但可以分享聚合计算后的结果。 联…

Go语言面经进阶10问

1.Golang可变参数 函数方法的参数,可以是任意多个,这种我们称之为可以变参数,比如我们常用的fmt.Println()这类函数,可以接收一个可变的参数。可以变参数,可以是任意多个。我们自己也可以定义可以变参数,可…

【Leetcode】二分查找合集

二分查找合集 二分模板leetcode 704.二分查找题目思路代码 Leetcode 34.在排序数组中查找元素的第⼀个和最后⼀个位置题目思路代码 35. 搜索插入位置题目思路代码 69.X的平方根题目思路代码 852. 山脉数组的峰顶索引题目代码 162.寻找峰值题目思路代码 153. 寻找旋转排序数组中…

CUDA C编程权威指南:1-基于CUDA的异构并行计算

什么是CUDA?CUDA(Compute Unified Device Architecture,统一计算设备架构)是NVIDIA(英伟达)提出的并行计算架构,结合了CPU和GPU的优点,主要用来处理密集型及并行计算。什么是异构计算&#xff1…

基于阶梯碳交易的含P2G-CCS耦合和燃气掺氢的虚拟电厂优化调度(matlab代码)

目录 1 主要内容 系统结构图 P2G-CCS 耦合模型 其他算例对比 2 部分代码 3 下载链接 1 主要内容 该程序复现《基于阶梯碳交易的含P2G-CCS耦合和燃气掺氢的虚拟电厂优化调度》模型,以碳交易和碳封存成本、燃煤机组启停和煤耗成本、弃风成本、购气成本之和为目标…

嵌入式系统中C++内存管理基本方法

引言 说到 C 的内存管理,我们可能会想到栈空间的本地变量、堆上通过 new 动态分配的变量以及全局命名空间的变量等,这些变量的分配位置都是由系统来控制管理的,而调用者只需要考虑变量的生命周期相关内容即可,而无需关心变量的具…

如何在 Windows 上安装 ONLYOFFICE 协作空间社区版

ONLYOFFICE 协作空间是一个在线协作平台,帮助您更好地与客户、业务合作伙伴、承包商及第三方进行文档协作。今天我们来介绍一下,如何在 Windows 上安装协作空间的自托管版。 ONLYOFFICE 协作空间主要功能 使用 ONLYOFFICE 协作空间,您可以&a…

【彩色图像处理GUI】各种颜色映射、重新调整大小和更改分辨率、伽玛校正,对比度,反转颜色(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【洛谷 P1216】[USACO1.5] [IOI1994]数字三角形 Number Triangles 题解(动态规划)

[USACO1.5] [IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中,从 7 → 3 → 8 →…

Linux系统编程系列之POSIX信号量

一、什么是POSIX信号量 POSIX信号量是一种用于线程之间同步和互斥的机制,它是由POSIX标准定义的一种IPC(进程间通信)机制,可以用于进程间或线程间的同步操作。POSIX信号量分成两种,POSIX匿名信号量和POSIX具体信号量。…

S-Clustr(影子集群)可控制嵌入式设备和个人电脑的僵尸网络工具

公告 项目地址:https://github.com/MartinxMax/S-Clustr/tree/V1.0.0 1.成功扩展3类嵌入式设备,组建庞大的"僵尸网络" |——C51[开发中] |——Arduino |——合宙AIR780e[开发中] 2.攻击者端与服务端之间通讯过程全程加密,防溯源分析 3.Generate一键自动生成Arduino…

deterministic=True requires SQLite 3.8.3 or higher

文章目录 出错来源解决方法 出错来源 在我的centos服务器执行Django网站 python manage.py runserver报错: deterministicTrue requires SQLite 3.8.3 or higher解决方法 pip3 install pysqlite3 pip3 install pysqlite3-binary找到下载的模块路径,修…

十天学完基础数据结构-第二天(数据结构简介)

什么是数据结构? 在计算机科学中,数据结构是一种组织和存储数据的方式。它定义了数据的布局,以及对这些数据执行的操作。你可以把数据结构看作是计算机内存中的特定组织方式,就像图书馆中书籍的排列一样。 数据结构可以是各种形…

STM32复习笔记(一):软件配置工程创建

目录 Preface: Hardware-Configuration & Software-Environment: (一)新建项目工程 (二)工程配置 (三)配置外设 (四)项目管理 (五&…

qml保姆级教程二:qml基本数据类型

💂 个人主页:pp不会算法v 🤟 版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 QML系列教程 QML教程一:布局组件 文章目录 boolrealdouble…