MYSQL-主从复制

news2024/11/23 11:23:29

文章目录

  • 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 ;

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

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

相关文章

从事架构师岗位快2年了,聊一聊我对架构的一些感受和看法

从事架构师岗位快2年了,聊一聊我和ChatGPT对架构的一些感受和看法 职位不分高低,但求每天都能有新的进步,永远向着更高的目标前进。 文章目录踏上新的征程架构是什么?架构师到底是干什么的?你的终极目标又是什么&#…

腾讯实践:面向在线游戏的智能推荐系统设计实践

‍省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2023年1月份热门报告合集ChatGPT的发展历程、原理、技术架构及未来方向《ChatGPT:真格基金分享.pdf》2023年AIGC发展趋势报告:人工智能的下一时代推荐…

【经验】CiteSpace|Wiley Online Library或除知网以外的其他网站的文献怎么导入CiteSpace 6.1.6?

如果没安装,请看这篇博客安装,现在新版(6.1.6)的不需要额外下载java了,就很妙~:   最新版citespace软件的安装与配置 结论:导出成RIS然后用它自带的转换成WoS。 Wiley Online Library导出RIS…

(考研湖科大教书匠计算机网络)第四章网络层-第三节2:分类编址的IPv4地址

获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:分类IP地址概述二:各类地址详解(1)A类地址(2)B类地址(3)C类地址…

算法刷题打卡第91天:统计一个圆中点的数目

统计一个圆中点的数目 难度:中等 给你一个数组 points ,其中 points[i] [xi, yi] ,表示第 i 个点在二维平面上的坐标。多个点可能会有 相同 的坐标。 同时给你一个数组 queries ,其中 queries[j] [xj, yj, rj] ,表…

C++100-C++拓展002-float精度问题

文章目录C100-C拓展002-float精度问题摘要Cfloat精度问题C浮点float基本格式C查看数据范围在线练习:总结C100-C拓展002-float精度问题 摘要 本系列为C学习系列,会介绍C基础语法,基础算法与数据结构的相关内容。本文为C拓展内容,包…

linux安装

我们在部暑的时候 总要用到linux 所以我们可以提前把linux安装好 准备一个安装好的linux 到时直接克隆出来用就可以一 安装linux1). 选择创建新的虚拟机2). 选择"典型"配置3). 选择"稍后安装操作系统(S)"4). 选择"Linux"操作系统,"CentOS7 …

IAR警告抑制及还原

工作中需要临时抑制 警告 Pa084,源代码如下: sy_errno_t sy_memset_s(void *dest, sy_rsize_t dmax, int value, sy_rsize_t n) { sy_errno_t err; if (dest NULL) { return SY_ESNULLP; } if (dmax > SY_RSIZE…

「C语言进阶」数据内存的存储

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀 目录 🐰数据类型的介绍 🐰类型的意义 🐰数据类型的基本归类…

引入短信服务发送手机验证码进行安全校验

其他方案>引入QQ邮箱发送验证码进行安全校验 相对短信验证码,操作更简单而且免费 最近想给自己的项目在注册时加点安全校验,准备使用免费的邮箱验证来着,在上一篇引入QQ邮箱进行安全校验时,看有朋友说阿里云会送一些短信服务免…

论文阅读 | Video Super-Resolution Transformer

引言:2021年用Transformer实现视频超分VSR的文章,改进了SA并在FFN中加入了光流引导 论文:【here】 代码:【here】 Video Super-Resolution Transformer 引言 视频超分中有一组待超分的图片,因此视频超分也经常被看做…

【网络原理4】TCP特性篇

目录 一、滑动窗口 传统发送接收机制的缺点 滑动窗口的特性 发送方什么时候会接着发送下一条报文 如果在滑动窗口的机制下面发生了丢包会怎样处理 情况1:ack丢了 情况2:主动发送的syn丢包了 滑动窗口的应用场景 二、TCP流量控制:根据接…

大数据下Flink on YarnSession 高可用集群环境部署开辟资源发布任务

前言:搭建大数据环境集群环境算是比较麻烦的一个事情,并且对硬件要求也比较高其中搭建大数据环境需要准备jdk环境和zk环境,还有hdfs,还有ssh之间的免密操作,还有主机别名访问不通的问题 等。必然会出现的问题&#xff…

拆个微波炉,分析一下电路

微波炉是用2450MHz的超高频电磁波来加热食品,它能无损穿越塑料,陶瓷,不能穿越金属,碰到金属会反射,但穿过含水食物,食物内的分子会高速摩擦,产生热量,使食物变熟。在厨房电器中&…

自学180天,我从功能测试进阶到自动化测试了...

大家好,我是彭于晏,一个7年测试工作的老司机。因为我一直在分享自动化测试技术,所以时常会被问到这个问题:“靓仔,功能测试想转自动化测试,请问要怎么入手?” 那么,接下来我就结合自…

不愧是GitHub点赞飙升的Java10W字面经,面面俱到,太全了!

最新的喜报啊,话不多说,先看图!(为了保护朋友的隐私,同时还有我自己的隐私,楼主就都打码了~!) 朋友说到这儿时候我就跟他说,不要只看眼前,要看长远一些&#…

前端开发之防抖与节流

前端开发中我们经常会通过监听某些事件来完成项目需求 1.通过监听 scroll 事件,检测滚动位置,根据滚动位置显示返回顶部按钮 2.通过监听 resize 事件,对某些自适应页面调整DOM的渲染(通过CSS实现的自适应不再此范围内)…

动态库和静态库的区别

什么是库文件 一般来说,一个程序,通常都会包含目标文件和若干个库文件。经过汇编得到的目标文件再经过和库文件的链接,就能构成可执行文件。库文件像是一个代码仓库或代码组件的集合,为目标文件提供可直接使用的变量、函数、类等…

Hadoop3.3.0--Linux编译安装

Hadoop3.3.0–Linux编译安装 基础环境:Centos 7.7 编译环境软件安装目录 mkdir -p /export/server一、Hadoop编译安装(选做) 可以直接使用课程提供已经编译好的安装包。 安装编译相关的依赖 yum install gcc gcc-c make autoconf automake…

leaflet 上传CSV文件,导出geojson格式文件(064)

第064个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中加载CSV文件,将图形显示在地图上。点击导出geojson,下载成geojson文件。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共114行)安装插件…