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

MYSQL数据库-主从复制(原理及搭建)

文章目录

  • 1 概述
  • 2 原理
  • 3 搭建
    • 3.1 主库配置
    • 3.2 从库配置

1 概述

主从复制是指将主数据库的DDL和 DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。
MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库,实现链状复制。
在这里插入图片描述
MySQL复制的有点主要包含以下三个方面

  • 1.主库出现问题,可以快速切换到从库提供服务。
  • 2.实现读写分离,降低主库的访问压力。
  • 3.可以在从库中执行备份,以避免备份期间影响主库服务

2 原理

从上图来看,复制分成三步:

1.Master 主库在事务提交时,会把数据变更记录在二进制日志文件 Binlog 中
2.从库读取主库的二进制日志文件 Binlog,写入到从库的中继日志Relay Log
3.slave重做中继日志中的事件,将改变反映它自己的数据

在这里插入图片描述

3 搭建

3.1 主库配置

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

#mysql服务ID,保证整个集群环境中唯一,取值范围: 1 - 232-1,默认为1
server-id=1
#是否只读,1 代表只读,0代表读写
read-only=0
#忽略的数据,指不需要同步的数据库
binlog-ianore-db=mysgl
#指定同步的数据库
binlog-do-db=db01

2.重启MySQL服务器

systemctl  restart mysqld

3.登录mysql,创建远程连接的账号,并授予主从复制权限

#创建itcast用户,并设置密码,该用户可在任意主机连接该MySOL服务
CREATE USER 'test'@'%' IDENTIFIED WITH mysql native password BY Root@123456' ;
#为'test'@%' 用户分配主从复制权限
GRANT REPLICATION SLAVE ON ** TO 'test'@'%':

4.通过指令,查看二进制日志坐标

show master status ;
字段含义说明:
file从哪个日志文件开始推送日志文件
position从哪个位置开始推送日志
binlog_ignore_db指定不需要同步的数据库

3.2 从库配置

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

#mysql服务ID,保证整个集群环境中唯一,取值范围: 1 - 232-1,和主库不一样即可
server-id=2
#是否只读,1 代表只读,0 代表读写
read-only=1

2.重新启动MySQL服务

systemctl restart mysald

3.登录mysql,设置主库配置

CHANGE REPLICATION SOURCE TO SOURCE_HOST='主库ip地址', SOURCE USER='主库用户名', SOURCE_PASSWORD='密码',SOURCE_LOG FILE='日志文件', SOURCE LOG_POS='biglog日志位置',

上述是8.0.23中的语法。如果mysgl是 8.0.23之前的版本,执行如下SQL

CHANGE MASTER TO MASTER_HOST='xx' ,MASTER_USER='x',MASTER_PASSWORD='x',MASTER_LOG_FILE='x', MASTER_LOG_POS=:
参数名含义8.0.23之前
SOURCE_HOST主库IP地址MASTER_HGST
SOURCE_USER连接主库的用户名MASTER_USER
SOURCE_PASSWORD连接主库的密码MASTER_PASSWORD
SOURCE_LOG_FILEbinlog日志文件名MASTER_LOG_FILE
SOURCE_LOG_POSbinlog日志文件位置MASTER_LOG_POS

4.开启同步操作
进入mysql 中输入指令

#8.0.22之后
start replica;
#8.0.22之前
start slave;

5.查看主从同步状态

#8.0.22之后
show replica status :
#8.0.22之前
show slave status ;

相关文章:

MYSQL数据库-主从复制(原理及搭建)

文章目录1 概述2 原理3 搭建3.1 主库配置3.2 从库配置1 概述 主从复制是指将主数据库的DDL和 DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进…...

3GPP-NR Band25标准定义频点和信道(3GPP V17.7.0 (2022-12))

Reference test frequencies for NR operating band n25 Table 4.3.1.1.1.25-1: Test frequencies for NRoperating band n25 and SCS 15 kHz CBW [MHz]carrierBandwidth...

微信小程序 之 原生开发

目录 一、前期预备 1. 预备知识 ​2. 注册账号 - 申请AppID 3. 下载小程序开发工具 4. 小程序项目结构 ​5. 小程序的MVVM架构 二、创建小程序项目 1. 查看注册的appId ​2. 创建项目 ​3. 新建页面 01 - 创建text页面文件夹 ​02 - 新建text的page ​03 - 在app.json中配置 ​…...

常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件

常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件1. vim 的基本介绍和使用1.1 vim的三种模式1.2 常用vim命令【小白】1.3 Vim键盘图:2. Linux用户管理2.1 添加用户2.2 删除用户2.3 修改账号3. Linux系统用户组的管理4. 用户和组相关文件4.1 …...

阿里云服务器部署前后端分离项目

阿里云服务器部署 【若依】 前后端分离项目 文章目录一、域名解析二、服务器操作系统置空三、部署方式四、需安装环境配置五、Linux服务器安装相应内容(具体安装步骤)(一)安装JDK(3种方式)使用Yum安装&…...

内核经典数据结构list 剖析

前言:linux内核中有很多经典的数据结构,list(也称list_head)为其中之一,这些数据结构都是使用C语言实,并且定义和实现都在单独的头文件list.h中。可以随时拿出来使用。list.h的定义不同linux发行版本路径不同,我们可以在/usr/incl…...

华为OD机试 - 考优选核酸检测点(Python)| 真题+思路+考点+代码+岗位

优选核酸检测点 题目 张三要去外地出差,需要做核酸,需要在指定时间点前做完核酸, 请帮他找到满足条件的核酸检测点。 给出一组核酸检测点的距离和每个核酸检测点当前的人数给出张三要去做核酸的出发时间 出发时间是 10 分钟的倍数 同时给出张三做核酸的最晚结束时间题目中…...

在魔改PLUS-F5280开发板上使用合封qsp iflash

文章目录引言硬件调整软件调整总结引言 由于目前灵动官网暂未发布正式版的PLUS-F5280开发板,可以使用现有的PLUS-F5270 v1.2开发板(下文简称PLUS-F5270开发版)替换为MM32F5280微控制器芯片,改装为PLUS-F5280开发板。本文记录了使…...

uni-app 瀑布流

效果图 一、组件 components/u-myWaterfall.vue <template><view class"u-waterfall"><view id"u-left-column" class"u-column"><slot name"left" :leftList"leftList"></slot></view&…...

华为OD机试 - 去除多余空格(Python)| 真题+思路+考点+代码+岗位

去除多余空格 题目 去除文本多余空格,但不去除配对单引号之间的多余空格。给出关键词的起始和结束下标,去除多余空格后刷新关键词的起始和结束下标。 条件约束: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oQABYuJD-1676475739950)(https://…...

MyBatis 二级缓存简单使用步骤

1、二级缓存使用 在 MyBatis 中默认二级缓存是不开启的&#xff0c;如果要使用需手动开启。在 mybatis-config.xml 配置文件中设置 cacheEnabled true &#xff0c;配置如下&#xff1a; <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE c…...

kubeadmin kube-apiserver Exited 始终起不来查因记录

kubeadmin kube-apiserver Exited 始终起不来查因记录 [rootk8s-master01 log]# crictl ps -a CONTAINER IMAGE CREATED STATE NAME ATTEMPT POD ID POD b7af23a98302e …...

论文投稿指南——中文核心期刊推荐(工程材料学)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…...

【动态规划】背包问题题型及方法归纳

背包问题的种类 背包问题是在规定背包容量为j的前提下&#xff0c;每个物品对应的体积为v[i]&#xff0c;价值为w[i]&#xff0c;从物品0到物品i中选择物品放入背包中&#xff0c;找出符合某种要求的价值。 &#xff08;1&#xff09;背包问题种类 01背包&#xff1a;每种物…...

全球十大资质正规外汇期货平台排行榜(最新版汇总)

外汇期货简称为FxFut&#xff0c;是“Forex Futures”的缩写&#xff0c;是在集中形式的期货交易所内&#xff0c;交易双方通过公开叫价&#xff0c;以某种非本国货币买进或卖出另一种非本国货币&#xff0c;并签订一个在未来的某一日期根据协议价格交割标准数量外汇的合约。 …...

使用Paramiko时遇到的一些问题

目录 1.背景 2.问题合集 1&#xff09;“bash: command not found” 2&#xff09;Paramiko中正常的输入&#xff0c;却到了stderr&#xff0c;而stdout是空 3&#xff09;命令实际是alias 1.背景 在自动化脚本中&#xff0c;使用了库Paramiko&#xff0c;远程SSH到后台服…...

数据预处理(无量纲化、缺失值、分类特征、连续特征)

文章目录1. 无量纲化1.1 sklearn.preprocessing.MinMaxScaler1.2 sklearn.preprocessing.StandardScaler2. 缺失值3. 分类型特征4. 连续型特征数据挖掘的五大流程包括&#xff1a;获取数据数据预处理特征工程建模上线 其中&#xff0c;数据预处理中常用的方法包括数据标准化和归…...

【C#基础】C# 运算符总结

序号系列文章2【C#基础】C# 基础语法解析3【C#基础】C# 数据类型总结4【C#基础】C# 变量和常量的使用文章目录前言运算符1&#xff0c;算术运算符2&#xff0c;布尔逻辑运算符3&#xff0c;位运算符4&#xff0c;关系运算符5&#xff0c;赋值运算符6&#xff0c;其他运算符7&am…...

存储性能软件加速库(SPDK)

存储性能软件加速库SPDK存储加速存储性能软件加速库&#xff08;SPDK&#xff09;SPDK NVMe驱动1.用户态驱动1&#xff09;UIO2&#xff09;VFIOIOMMU&#xff08;I/O Memory Management Unit&#xff09;3&#xff09;用户态DMA4&#xff09;大页&#xff08;Hugepage&#xf…...

微服务(五)—— 服务注册中心Consul

一、引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId></dependency>二、配置yml文件 server:port: 8006spring:application:name: cloud-payment-con…...

ChatGPT本地离线部署实战:从模型量化到服务化避坑指南

ChatGPT本地离线部署实战&#xff1a;从模型量化到服务化避坑指南 作为一名开发者&#xff0c;你是否也曾为调用云端大语言模型&#xff08;LLM&#xff09;而烦恼&#xff1f;高昂的API费用、不可预测的响应延迟&#xff0c;以及将敏感数据发送到第三方服务器的隐私顾虑&…...

26地学考研复试线汇总(华东师范大学/南京师范大学/南京信息工程大学/中国海洋大学/兰州大学)

今天开始更新一波26地理学考研复试分数线&#xff0c;计划考研的同学可以关注&#x1f447;华东师范大学华东师范大学26复试线公布&#xff01;地理学统一划线&#xff01; 地理科学学院&#xff1a;地理学统一划线325分&#xff0c;相比去年总体上涨&#xff1b;测绘工程333分…...

ChatGPT大模型语音开发入门:从API调用到实战避坑指南

背景痛点&#xff1a;语音交互的“暗礁” 当我们从文本交互迈向语音交互时&#xff0c;面临的挑战是立体的。新手开发者常常在兴致勃勃地调用API后&#xff0c;被一连串的“暗礁”绊倒。 音频格式的迷宫&#xff1a;大模型语音API通常对音频格式有严格要求&#xff0c;例如采…...

智慧交通护栏识别 道路标识识别车道线识别 道路设施目标检测模型训练 交通设施巡检算法 yolo图像分割数据集第10607期

计算机视觉数据集数据集概览 类别&#xff1a;7类&#xff0c;涵盖道路设施相关目标图像数量&#xff1a;500格式&#xff1a;YOLO格式核心任务&#xff1a;目标检测数据集核心信息维度详情数据类别冷塑震荡标线漆、热塑性涂料、凸起式路面标线、橡胶减速带、单W型梁防撞护栏、…...

如何利用OpenCode实现高效专业的AI驱动开发工作流?

如何利用OpenCode实现高效专业的AI驱动开发工作流&#xff1f; 【免费下载链接】opencode 一个专为终端打造的开源AI编程助手&#xff0c;模型灵活可选&#xff0c;可远程驱动。 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 在当今快速迭代的软件开发…...

STM32摔倒报警系统设计与多传感器融合技术

基于STM32的摔倒报警系统设计与实现1. 项目概述1.1 系统架构本系统采用STM32F103RCT6作为主控芯片&#xff0c;构建了一套完整的老年人摔倒检测与报警解决方案。系统硬件架构包含以下核心模块&#xff1a;传感器层&#xff1a;MPU6050姿态传感器、MAX30102心率血氧传感器、MLX9…...

神经信号干扰器:让脑机监控读取错误数据

在软件测试领域&#xff0c;精准的数据采集与分析是保障产品质量的核心。随着脑机接口&#xff08;BCI&#xff09;技术在测试工具中的广泛应用&#xff0c;神经信号监控已成为提升缺陷检出率和决策效率的关键手段。然而&#xff0c;神经信号干扰器的出现&#xff0c;正悄然威胁…...

手把手教你用AT89C51和UA741制作可调波形发生器(附完整代码)

从零构建基于AT89C51与UA741的智能波形发生器&#xff1a;硬件设计到代码实现的完整指南 在电子工程领域&#xff0c;波形发生器是实验室和教学中最基础也最实用的设备之一。传统商用波形发生器往往价格昂贵且功能固定&#xff0c;而自己动手制作一台可编程波形发生器不仅能深入…...

深度学习毕业设计题目实战指南:从选题到部署的完整技术路径

最近在帮学弟学妹们看毕业设计&#xff0c;发现一个挺普遍的现象&#xff1a;大家对深度学习的理论热情很高&#xff0c;但一到动手实现&#xff0c;就各种“翻车”。环境配一天&#xff0c;模型跑不动&#xff1b;好不容易跑起来&#xff0c;精度死活上不去&#xff1b;最后模…...

FLUX.1-dev实战案例:像素幻梦工坊生成高清16-bit游戏素材全流程

FLUX.1-dev实战案例&#xff1a;像素幻梦工坊生成高清16-bit游戏素材全流程 1. 像素幻梦工坊简介 像素幻梦工坊&#xff08;Pixel Dream Workshop&#xff09;是一款基于FLUX.1-dev扩散模型的像素艺术生成工具。它采用明亮的16-bit像素风格设计&#xff0c;为游戏开发者和数字…...