MySQL主从复制配置(双主双从)

news2025/4/19 21:10:43

一、架构规划

一主多从可以缓解读的压力,但是如果主宕机了,所有从都不能写了,因此我们配置双主双从。

1、规划图

master1和master2互为主从关系,slave1是master1的从,slave2是master2的从。

2、环境准备

准备四台机器,其中两台为主(master1和master2),两台为从(slave1和slave2)

主master1192.168.198.140
主master2192.168.198.141
从slave1192.168.198.100
从slave2192.168.198.101

二、修改配置

1、主库配置

1.1配置master1

修改配置文件/etc/my.cnf

1.2配置master2

同样和master1一样的修改操作,但是注意server-id可以随便设置,但是必须唯一(不能相同)

2、从库配置

2.1配置slave1

2.2配置slave2

3、重启服务

四台机器都要重启MySQL服务,并检查状态

systemctl restart mysqld

systemctl status mysqld

三、建立同步账号

1、master1上建立

进入mysql,设置同步账号名为rep,密码为Rep@123456,并授权

grant replication slave on *.* to 'rep'@'192.168.198.%' identified by 'Rep@123456';

然后查看状态,并记录下File和Position的值

至此,就不要再操作master1的mysql了,不然的话,这两个值就会发生变化

2、master2上建立

也是同样的方法,并且也要看到File和Position这两个关键值

四、配置主从关系

方法就是在从机上配置需要复制的主机,复制主机的命令如下:

change master to
MASTER_HOST='被从机复制的主机master的ip',
MASTER_USER='同步账号名',
MASTER_PASSWORD='同步账号的密码',
MASTER_LOG_FILE='记录的File的值',
MASTER_LOG_POS= 记录的Position的值 ;

1、配置从服务器slave1

1.1slave1复制master1

在从机slave1上操作,复制对象是master1

由主库master1的状态表可知,从库上的MASTER_LOG_FILE参数的值就是mysql-bin.000043,MASTER_LOG_POS参数的值是448

1.2启动slave1的复制功能

在slave1上使用命令start slave


发现报错:ERROR 1872 (HY000): Replica failed to initialize applier metadata structure from the repository

这是因为数据库以前配置过,生成过中继日志,所以slave中还记录着旧日志,所以需要用命令reset slave去重置,注意reset之后,再重新配置主从关系,然后再启动就可以了

既然成功启动,那我们可以查看从库状态

Slave_IO_Running和Slave_SQL_Running这两个参数必须同时为Yes,即IO线程和SQL线程启动成功

2、配置从服务器slave2

2.1slave2复制master2

在从机slave2上操作,复制对象是master2

由主库master2的状态表可知,从库上的MASTER_LOG_FILE参数的值就是mysql-bin.000008,MASTER_LOG_POS参数的值是448

2.2启动slave2的复制功能 

在slave2上使用命令start slave;

然后检查状态是否为双Yes,这样就成功了

 

3、配置两主服务器互为主从

要实现互为主从的方式很简单,即master2复制master1,master1复制master2。因此同样地去建立主从关系即可

3.1 master2复制master1

在master2上操作

注:IO线程第一次没起来,查看报错日志/var/log/mysqld.log之后,我重启了master1,因此master1的File和Position的值变化了,一定要重新查看状态

回头再看了,发现就是自己设置日志文件的时候多加了个小数点,,,,

既然已经重启了,就只能重新查看状态再设置了 

然后在master2上重新建立主从

这下才成功

 

3.2 master1复制master2

在master1上同样的操作思路,双Yes就没问题

最后就完成配置了,可以自己测试一下

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

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

相关文章

浅谈对Maven的理解

一、什么是Maven Maven——是Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等特性,已经有无数的开源项目使用它来构建项目并促进团队…

WEB服务器-Tomcat

3. WEB服务器-Tomcat 3.1 简介 3.1.1 服务器概述 服务器硬件 指的也是计算机,只不过服务器要比我们日常使用的计算机大很多。 服务器,也称伺服器。是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说…

浅谈缓存最终一致性的解决方案

浅谈缓存最终一致性的解决方案 作者:clareguo,腾讯 CSIG 后台开发工程师 来源:腾讯技术工程open in new window 到底是更新缓存还是删除缓存? 到底是先更新数据库,再删除缓存,还是先删除缓存,再更新数据…

(Java企业 / 公司项目)分布式事务Seata详解(含Seata+Nacos组合使用)(二)

一. Seata Server配置Nacos 什么是配置中心?配置中心可以说是一个"大货仓",内部放置着各种配置文件,你可以通过自己所需进行获取配置加载到对应的客户端.比如Seata Client端(TM,RM),Seata Server(TC),会去读取全局事务开关,事务会话存储模式等信息.Seata的配置中心…

PyTorch项目源码学习(3)——Module类初步学习

torch.nn.Module Module类是用户使用torch来自定义网络模型的基础,Module的设计要求包括低耦合性,高模块化等等。一般来说,计算图上所有的子图都可以是Module的子类,包括卷积,激活函数,损失函数节点以及相…

计算机缺失mfu140u.dll的5种解决方法,亲测有效

在计算机系统运行过程中,mfu140u.dll文件的丢失是一个较为常见的问题场景。这个动态链接库文件(mfu140u.dll)对于系统的正常运行具有关键作用,它的缺失可能导致相关应用程序无法启动或执行功能异常。具体来说,mfu140u.dll丢失的场景可能出现在…

QT上位机开发(QSS美化)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 我们早期学习过web开发的同学都知道,web开发有三个部分,分别是html、css和java script。其中html负责控件生成和布局&#…

基于Matlab/Simulink的MIL仿真验证解决方案

文章目录 需求追溯 虚拟环境 模型检查 仿真验证 测试报告 参考文献 针对模型开发阶段的ECU算法,可以很直接地将其与虚拟车辆模型连接起来,通过MIL对其进行验证和确认。可以在开发过程的早期检测到设计错误和不正确的需求,也有助于安全地…

DSL查询文档--各种查询

DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1查询所有 结果: 2全文检索(full text)查询 常见的全文检索查询包括: match查询:单字段查询 multi_match查询:多字段查询&#xff…

阿里云ingress配置时间超时的参数

一、背景 在使用阿里云k8s集群的时候,内网API网关,刚开始是用的是Nginx,后面又搭建了ingress。 区别于nginx配置,ingress又该怎么设置参数呢?比如http超时时间等等。 本文会先梳理nginx是如何配置,再对比…

AC修炼计划(AtCoder Beginner Contest 334)A~G

传送门:UNIQUE VISION Programming Contest 2023 Christmas (AtCoder Beginner Contest 334) - AtCoder A题是最最基础的语法题就不再讲解。 B - Christmas Trees 该题虽然分低,但我觉得还是很不错的。 给你 l 和 r ,设满足题意的数字是x则…

TIFF转JPG助手:轻松批量转换,优化图片管理

在数字时代,图片已成为我们生活和工作中不可或缺的一部分。为了更好地管理和使用这些图片,我们需要一个强大的工具来帮助我们转换和优化图片格式。TIFF转JPG助手正是这样一款理想的解决方案 首先,我们进入首助编辑高手主页面,会看…

qayrup-switch开发文档

因为只是一个小组件,所以直接拿csdn当开发文档了 书接上文uniapp怎么开发插件并发布 : https://blog.csdn.net/weixin_44368963/article/details/135576511 因为我业没有开发过uniapp的组件,所以我看到下面这个文件还是有点懵的 也不清楚怎么引入, 然后去翻了翻官方文档,官方…

基于时域有限差分法的FDTD的计算电磁学算法-YEE网格下的更新公式推导

基于时域有限差分法的FDTD的计算电磁学算法(含Matlab代码)-YEE网格下的更新公式推导 参考书籍:The finite-difference time-domain method for electromagnetics with MATLAB simulations(国内翻译版本:MATLAB模拟的电…

面试官问,如何在十亿级别用户中检查用户名是否存在?

面试官问,如何在十亿级别用户中检查用户名是否存在? 前言 不知道大家有没有留意过,在使用一些app注册的时候,提示你用户名已经被占用了,需要更换一个,这是如何实现的呢?你可能想这不是很简单吗…

StarRocks中有趣的点

最近在工作中,遇到有小伙伴使用StarRocks,所以看了下文档,感觉以下几点比较有趣。 支持MySQL协议 想必是为了通用性,StarRocks 提供MySQL协议接口,支持标准SQL语法。即可通过MySQL客户端连接StarRocks,并…

Linux系统SSH远程管理服务概述

目录 一.SSH协议 1.定义 2.优点 (1)加密 (2)压缩 3.SSH的客户端与服务端 (1)客户端 (2)服务端 4.原理 5.实验:使用ssh远程登录 二.OpenSSH服务器 1.概念 2.…

Wargames与bash知识17

Wargames与bash知识17 Bandit25(Bandit26) 关卡提示 从bandit25登录到bandit26应该相当容易…用户bandit26的shell不是/bin/bash,而是其他东西。找出它是什么,它是如何工作的,以及如何摆脱它。 推荐命令 ssh, cat, …

ssm基于vue的儿童教育网站的设计与实现论文

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,视频信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大…