MySQL复制拓扑4

news2024/10/6 1:24:19

文章目录

主要内容

  1. 预备知识
    MySQL主从复制是MySQL数据库中常用的一种高可用性和数据备份方案,它可以将主数据库的数据同步到从数据库,从而实现数据的备份和读写分离。下面是MySQL主从复制的详细原理及工程实现:
    主从复制的原理:

主从复制的原理是通过在主数据库上记录所有的数据变更操作(如INSERT、UPDATE、DELETE)并将这些操作记录在二进制日志(Binary Log)中,然后从数据库通过读取主数据库的二进制日志来获取这些数据变更操作,并在从数据库上执行相同的操作,从而保持从数据库和主数据库的数据一致性。

一.启用GUID并配置循环复制

二进制日志坐标只适应于简单的复制结构,对于复杂的比如循环、双向和多源复制,二进制日志坐标就不能唯一标识一个事务了,这个时候必须使用GTID(全局事务标识符)来记录产生更改的事务。

1.其中,UUID用来唯一标识每一个服务器,事务的编号记录了在该服务器上执行的事务的顺序。使用SELECT @@server_uuid\G命令可以查看服务器的UUID,sever1的UUID值显示如下:

代码如下(示例):
select @@server_uuid\G

在这里插入图片描述
在复杂复制拓扑中,必须使用GTID才能唯一标识某一个事务。
下面我们将在三个服务器上启用GTID,并构建循环拓扑,也即将server1设置为server3的slave,在这种结构中,每一个服务器既是master,同时又是slave,在任何一个服务器上的修改,都会同步到其余的两个服务器上。

2.在三个节点上分别操作,先关闭mysqld实例,然后修改my.cnf配置文件,去除gtid-mode=ON和enforce-gtid-consistency两个选项的注释,保存。

代码如下(示例):
systemctl stop mysqld
vim /etc/my.cnf
cat /etc/my.cnf

在这里插入图片描述

3.分别启动三个mysqld实例:

代码如下(示例):
systemctl start mysqld
systemctl status mysqld

在这里插入图片描述

4.在server2和server3上执行stop slave命令以停止从属服务器上的I/O 和SQL 线程。

代码如下(示例):
stop slave;

5.在sever1、server2和server3上分别执行reset master命令,该命令会复位现有的二进制日志文件,并将gtid_executed和gtid_purged设置为空字符串,以便日志文件仅包含使用GTID 的事件。

代码如下(示例):
reset master;
select @@server_uuid\G

在这里插入图片描述

6.在server2和server3上分别执行CHANGE MASTER TO MASTER_AUTO_POSITION=1;和START SLAVE USER=‘repl’ PASSWORD=‘oracle’;恢复前面的三层复制结构,注意这次使用的是GTID。

代码如下(示例):
change master to MASTER_TO_POSITION=1;
start slave user='repl' password='oracle';
show slave status\G

在这里插入图片描述

7.验证复制功能,在server1上删除city表ID大于4060的行;在server2和server3上查看到相同的同步结果,复制成功:

代码如下(示例):
delete from world.city where id>4060;

select id,name 
from world.city
order by id desc
limit 5;

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

8.在server3,检查从属服务器状态:

在这里插入图片描述
可以看到,server3上执行的事务,其事务初始执行位置是在server1。

9.继续,在server1上执行changemaster to命令,更改server1为server3的master,并启动复制:

代码如下(示例):
change master to MASTER_HOST='server3',MASTER_AUTO_POSITION=1;
start slave user='repl' password='oracle';

在这里插入图片描述

10.在server2上删除city表ID大于4050的行:

代码如下(示例):
delete from world.city where id > 4050;

select id,name
from world.city
order by desc
limit 5;

在这里插入图片描述

11.在server1上大于4050的行也被删除,查询server1的gtid_executed变量可以看到该删除操作的初始执行位置是server2(server2的UUID=0469d41c-f7db-11ed-aa03-000c29bd1425):

代码如下(示例):
select id,name from world.city 
order by id desc
limit 5;

select @@global.gtid_executed\G

在这里插入图片描述


总结

以上是今天要讲的内容,学到了MySQL复制拓扑的启用GUID并配置循环复制。

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

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

相关文章

架构图设计

我们了解了软件架构后,方便了我们理解软件各方面的解读,但是如果我们开发中有必要自己设计架构图吗?有,但是不会轮到你。这里浅浅讲一下软构图的设计,相信当你用一张或几张图来描述系统时,是不是经常遇到以…

域控报错:Windows无法创建对象 XX,因为目录服务无法分配相对标识符。

当域控制器报告错误“Windows无法创建对象,因为目录服务无法分配相对标识符”时,这通常是指在Active Directory环境中尝试创建新用户、计算机或其他安全主体时,域控制器无法从预先分配给每个域的RID(Relative Identifier&#xff…

Fire Smoke - Dynamic Nature

烟雾、火灾和爆炸预制件、着色器的集合。粒子支持HD、URP和标准渲染,自然制造风,因此它们对风速、方向和颤抖做出反应。 包装支持: Unity 2021.2及更高版本 Unity 2021.2 HD RP Unity 2021.2 URP Unity 2021.3及更高版本 Unity 2021.3 LTS HD RP Unity 2021.3 LTS URP Unity…

【SkyWorking】服务追踪工具

使用 Jar 启动时添加 VM 参数 -javaagent:/path/to/apache-skywalking-apm-incubating/agent/skywalking-agent.jar -Dskywalking.agent.application_codeYOUR_APP_NAME或 -javaagent:D:\city\skywalking-agent\skywalking-agent.jaragent.service_namemy-service,agent.instan…

贪心算法|45.跳跃游戏II

力扣题目链接 class Solution { public:int jump(vector<int>& nums) {if (nums.size() 1) return 0;int curDistance 0; // 当前覆盖最远距离下标int ans 0; // 记录走的最大步数int nextDistance 0; // 下一步覆盖最远距离下标for (int i 0;…

YoloV8实战:使用YoloV8实现水下目标检测(RUOD)

摘要 水下目标检测技术在生态监测、管道检修、沉船捕捞等任务中发挥着重要作用。常用的检测方法包括高清视像、侧扫声呐等。光学图像检测因高分辨率和灵活性&#xff0c;在近距离检测中优势显著。但水下图像受水体吸收、衰减、光源分布等影响&#xff0c;呈现蓝绿色&#xff0…

拾光坞N3 ARM 虚拟主机 i茅台项目

拾光坞N3 在Dcoker部署i茅台案例 OS&#xff1a;Ubuntu 22.04.1 LTS aarch64 cpu&#xff1a;RK3566 ram&#xff1a;2G 部署流程——》mysql——》java8——》redis——》nginx mysql # 依赖 apt update apt install -y net-tools apt install -y libaio* # 下载mysql wg…

太阳能自动气象站讲解

TH-QC10随着科技的不断进步和环保意识的日益增强&#xff0c;太阳能自动气象站逐渐成为了气象观测领域的新宠。这种结合了清洁能源与先进技术的装置&#xff0c;不仅为气象数据的获取提供了更为便捷、高效的方式&#xff0c;同时也为环保事业贡献了自己的力量。 一、太阳能自动…

PCI总线学习笔记:读写篇

前言 最近在写E1000网卡的驱动&#xff0c;这其中涉及到了PCI总线的相关内容。但是网上大部分关于PCI的文章都只局限在概念上的描述&#xff0c;并没有给出具体的例子来解释。这其实也是情理之中的&#xff0c;因为PCI总线规范就像是一个抽象的接口&#xff0c;其具体怎么实现…

[LeetCode][LCR133]位 1 的个数——快速从右边消去1

题目 LCR 133. 位 1 的个数 编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中数字位数为 ‘1’ 的个数&#xff08;也被称为 汉明重量).&#xff09;。 提示&#xff1a; 请注意&#xff0c;在某些语言…

CTF之矛盾

这一题就是php的弱比较“” 这里要求输入的不是数字&#xff0c;并且输入要为1才打印flag 那我们就输入一个1后面接随便什么字符&#xff0c;因为php的弱比较将字符与数字进行比较的时候&#xff0c;会把字符转换成数字再比较&#xff0c;当转换到字符时后面便都为空了 flag{…

蓝桥杯 经验技巧篇

1. 注意事项 &#x1f468;‍&#x1f3eb; 官方通知 &#x1f468;‍&#x1f3eb; 资料文档 时间&#xff1a;4月13日 9:00~13:00 &#xff08;时长 4小时&#xff09;物品 准考证&#xff08;赛前一周开放下载&#xff0c;自行打印&#xff09;学生证身份证笔、水、外套&a…

层次式架构设计-体系结构概述

层次式架构是软件体系结构设计中最为常用的一种架构形式&#xff0c;它为软件系统提供了一种在结构、行为和属性方面的高级抽象。其核心思想是将系统组成为一种层次结构&#xff0c;每一层为上层服务&#xff0c;并作为下层的客户。 层次式架构设计技术&#xff1a; 表现层中间…

LeetCode刷题之31.下一个排列

文章目录 1. 题目2.分析3.解答3.1 先排序&#xff0c;后交换3.2 先交换&#xff0c;后排序 1. 题目 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如&#xff0c;arr [1,2,3] &#xff0c;以下这些都可以视作 arr 的排列&#xff1a;[1,2,3]、[1,3,2]、[3…

C——找单身狗2

题目内容&#xff1a; 在一个数组中&#xff0c;室友两个数字出现了一次&#xff0c;其他所有数字都出现了两次。找出只出现一次的数字。 如&#xff1a;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff…

交互设计师、UI设计师、视觉设计师面试作品集包装模板figma源文件

页面数量&#xff1a;19页 页面尺寸&#xff1a;1920*1080PX 交付格式&#xff1a;figma 赠送文件&#xff1a;24款高质量样机 交付文件&#xff1a;作品集模板源文件、作品集包装psd源文件、作品集所用字体文件 该作品集虽然只有19页&#xff0c;但可根据需求复制作品集里已有…

SpringBoot3整合RabbitMQ之三_工作队列模型案例

SpringBoot3整合RabbitMQ之三_工作队列模型案例 文章目录 SpringBoot3整合RabbitMQ之三_工作队列模型案例2. 工作队列模型1. 消息发布者1. 创建工作队列的配置类2. 发布消费Controller 2. 消息消费者One3. 消息消费者Two4. 消息消费者Three5. 输出结果 2. 工作队列模型 1. 消息…

金融企业区域集中库的设计构想和测试验证

导读 本文探讨了金融企业区域集中库的设计构想和测试验证&#xff0c;包括架构设想、数据库整合场景测试及优势和使用设想。作者提出利用 TiDB 数据库产品集中建设区域集中库&#xff0c;解决 MySQL 存量节点的整合问题&#xff0c;实现部署的标准化、按需扩展和统一运维管理。…

【绩效管理】帮助零售企业建立分层分类绩效考核体系项目纪实

购物中心张经理评价&#xff1a;“员工的绩效管理一直是困扰我公司的难题&#xff0c;我们只懂得怎么经营&#xff0c;至于怎么做人力资源管理&#xff0c;真是一点都不懂。这次华恒智信为我们提供的服务对我们的帮助很大。基于企业实际调研情况&#xff0c;华恒智信专家明确指…

蓝桥杯单片机第十四届省赛模拟考试一

一、基本要求 使用大赛组委会提供的国信长天单片机竞赛实训平台&#xff0c;完成本试题的程序设计与调试。程序编写、调试完成后&#xff0c;选手需通过考试系统提交以准考证号命名的hex文件。不符合以上文件提交要求的作品将被评为零分或者被酌情扣分。 硬件设置&#xff1a; …