首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏架构师成长之路

    Redis详解(4)- 主从复制原理

    2、主从复制工作过程 Redis的主从复制功能除了支持一个Master节点对应多个Slave节点的同时进行复制外,还支持Slave节点向其它多个Slave节点进行复制。 Redis的主从复制功能分为两种数据同步模式进行:全量数据同步和增量数据同步。 1、主库master配置: Master服务器不需要针对主从复制做任何的设置(这不包括对主从复制过程的配置优化)。 4、Client的高可用性 基 于Sentinel的方案,client需要执行语句SENTINEL get-master-addr-by-name mymaster 可获得当前master的地址。 4、问题 1、 Trouble Shooting again 有时候明明master/slave都活得好好的,突然间就说要重新进行全同步了: 1.Slave显示:# MASTER time out:

    2.8K31编辑于 2022-04-14
  • 来自专栏全栈程序员必看

    redis主从复制_kafka主从复制

    文章目录 ⭐️1 主从复制 ⭐️1.1 主从复制简介 1.1.1多台服务器连接方案 ⭐️1.2 主从复制 ⭐️1.2.1主从复制的作用 ⭐️1.3 主从复制工作流程 ⭐️1.3.1 建立连接阶段步骤 ⭐️ ---- ⭐️1 主从复制 ⭐️1.1 主从复制简介 了解主从复制之前,你的redis是否高可用? ,使master能够识别slave,并保存slave端口号 步骤1:设置master的地址和端口,保存master信息 步骤2:建立socket连接 步骤3:发送ping命令(定时器任务) 步骤4: 数据同步阶段包括全量复制与部分复制 也就是将slave的数据库状态更新成master当前的数据库状态 步骤1:请求同步数据 步骤2:创建RDB同步数据 步骤3:恢复RDB同步数据(以上阶段为全量复制) 步骤4: 请求部分同步数据(同步的是缓冲区中的指令引起的数据) 步骤5:恢复部分同步数据(此过程会执行bgrewriteaof重写操作,恢复数据,步骤4,步骤5阶段为部分复制) 至此数据同步工作完成 全量复制 获取发指令的那一刻开始原来的所有数据

    48310编辑于 2022-09-22
  • 来自专栏Timeline Sec

    Redis基于主从复制的RCE 4.x5.x 复现

    又是一个RCE,很是享受这种拿shell的感觉,不知道你有没有?最近发现docker确实是个好东西,有了它复现真是节省了不少时间,开始复现

    1.7K20发布于 2019-12-15
  • 来自专栏分布式|微服务|性能优化|并发编程|源码分析

    彻底搞懂MySQL主从复制工作原理 2+3+3+4

    B站搜索“乐哥聊编程“有本篇文章配套视频‍ https://www.bilibili.com/video/BV1v841187jy 什么是主从复制 从mysql3.23版本开始,mysql官方就开始提供主从复制 ,最简单的主从复制架构就是有两个mysql节点,一个作为主节点,用户可以进行读写,另外一台作为从节点,从节点只接受主节点同步过来的数据,相当于是数据的备份 主从复制解决了哪些问题 读写分离 数据备份 高可用 架构扩展 有哪几种主从形式 一主多从(一从) 读写分离 HA 多主一从 报表统计 双主复制 互相备份 读写负载均衡 主从级联复制 缓解主节点IO压力 主从复制的工作原理 重要的三个线程 Log relay log 用来保存从节点I/O线程接受的bin log日志,作为中继日志存在 工作过程 从节点执行 start salve,开启主从复制,从节点I/O线程与主节点建立连接,请求同步数据 主节点接受从节点的数据同步请求 log后面,并保存bin log的位置,以便下次从这个位置开始获取后续的内容 SQL线程 监测到relay log 内容有变化,会将relay追加的内容解析成sql,然后依次执行sql,实现数据同步 主从复制的工作模式

    84820编辑于 2022-12-22
  • 来自专栏全栈程序员必看

    数据库主从复制_sqlserver主从复制

    一、什么是主从复制? 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。 二、主从复制的作用(好处,或者说为什么要做主从)重点! 三、主从复制的原理(重中之重): 1.数据库有个bin-log二进制文件,记录了所有sql语句。 2.我们的目标就是把主数据库的bin-log文件的sql语句复制过来。 4.下面的主从配置就是围绕这个原理配置 5.具体需要三个线程来操作: **1.binlog输出线程:**每当有从库连接到主库的时候,主库都会创建一个线程然后发送binlog内容到从库。 可以知道,对于每一个主从复制的连接,都有三个线程。拥有多个从库的主库为每一个连接到主库的从库创建一个binlog输出线程,每一个从库都有它自己的I/O线程和SQL线程。 主从复制如图: 步骤一:主库db的更新事件(update、insert、delete)被写到binlog 步骤二:从库发起连接,连接到主库 步骤三:此时主库创建一个binlog dump thread线程

    1.4K20编辑于 2022-09-22
  • 来自专栏芋道源码1024

    Redis 主从复制以及主从复制原理

    来源:http://t.cn/Efr5fc0 概述 面临问题 解决办法 主从复制 什么是主从复制 主从复制的作用 主从复制启用 主从复制原理 ---- ? 主从复制 什么是主从复制 ? 图片描述 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。 主从复制的作用 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。 通过 info replication 命令可以看到复制的一些信息 主从复制原理 主从复制过程大体可以分为3个阶段:连接建立阶段(即准备阶段)、数据同步阶段、命令传播阶段。 图片描述 4)权限验证。

    77730发布于 2019-06-05
  • 来自专栏全栈程序员必看

    mysql主从复制周期_Mysql主从复制

    Mysql主从复制 背景: Mysql可以实现主从复制,在学习了Mysql主从复制后,将一些如何主从复制过程记录下来,供以后复习使用。 准备: 在做Mysql的主从复制前需要做一些准备工作: 1、同步时间 做主从的服务器的时间需要同步,不然会出问题。 主从复制: 步骤1、安装Mysql服务 yum install mysql-server mysql 如果是Centos7版本:yum install mariadb-server mariadb (7 编辑主服务器配置文件/etc/my.cnf PS:注意日志文件的权限问题,修改bin_log的所有者和所属组为mysql;命令:chown mysql.mysql /app/bin_log 2)启动服务并添加主从复制需要的帐号 步骤4、测试 1)在主数据库服务器创建一个数据库 2)在从mysql从服务器查看是否生成创建的数据库 到此mysql的主从复制已完成。

    5.2K10编辑于 2022-09-22
  • 来自专栏EdisonTalk

    NoSQL初探之人人都爱Redis:(4)Redis主从复制架构初步探索

    一、主从复制架构简介 ?   通过前面几篇的介绍中,我们都是在单机上使用Redis进行相关的实践操作,从本篇起,我们将初步探索一下Redis的集群,而集群中最经典的架构便是主从复制架构。 PooledRedisClientManager(new string[] 2 { 3 "127.0.0.1:6379","127.0.0.1:6380" 44)若Slave出现故障导致宕机,恢复正常后会自动重新连接,Master收到Slave的连接后,将其完整的数据文件发送给Slave,如果Mater同时收到多个Slave发来的同步请求,Master只会在后台启动一个进程保存数据文件 四、学习小结   本篇我首先简单介绍了一下主从复制架构的基本概念,然后在Windows上单机模拟实现Redis的主从复制架构并通过数据读写命令进行简单测试并验证数据是否复制成功,最后通过了解Redis的主从复制模型知道了 Stephen Liu,《Redis学习手册(Key操作手册)》,http://www.cnblogs.com/stephen-liu74/archive/2012/03/26/2356951.html   (4

    88120发布于 2018-08-20
  • 来自专栏Java架构师必看

    mysql主从复制

    实验环境: 准备两台虚拟机,关闭防火墙 主master 修改配置文件 重启mysql 从slave 修改配置文件 重启mysql 登录主master授权

    1.3K40发布于 2021-06-02
  • 来自专栏服务端技术杂谈

    MySql主从复制

    主从集群 在MySql的生产环境中,由于单台MySql不能满足高可用性需求,一般通过主从复制(Master-Slave)方式同步数据,再通过读写分离(MySql-Proxy)来提升数据库并发负载能力。 用于主从复制,binlog作为操作记录从master发送到slave,slave从master接收到日志保存到relay log中 用于数据备份,数据库备份文件生成后,binlog保存了数据库备份后详细信息 DRC中间件 很多DRC中间件,也就是跨数据中心或跨机房数据同步服务,多采用主从复制方式实现的。 主从延迟 通过主从复制原理,我们知道了Master和Slave之间一定时间内会存在数据不一致情况,也就是主从延迟。 再看下主从复制的流程,主要看下红色的箭头: 上面两个箭头分别表示的是客户端写入主库和sql_thread执行relaylog,若粗细表示并发度,可见主库明显高于从库。

    2.7K30发布于 2020-07-14
  • 来自专栏JavaEE

    MySQL主从复制

    4.

    1.5K11发布于 2021-06-21
  • 来自专栏Kubernetes 与 Devops 干货分享

    Mysql主从复制

    一、mysql主从同步原理 Mysql主从复制也可以称为Mysql主从同步,它是构建数据库高可用集群架构的基础。 Mysql支持单向,双向,链式级联,异步复制,复制过程中一台服务器充当主库(master),而一个或者多个服务器充当从库(slave) 1.1、主从复制功能 主从复制原理:master服务器上工作线程I 1.2、复制中的参数详解 log-bin:搭建主从复制,必须开启二进制日志 server-id:mysql在同一组主从结构中的唯一标识 sever-uuid:存放在数据目录中的auto.cnf中 read global enforce_gtid_consistency=on; 3、修改gtid模式为off_permissive set global gtid_mode=off_permissive; 4、 重置master stop slave; reset master; SET @@GLOBAL.GTID_PURGED ='8f9e146f-0a18-11e7-810a-0050568833c8:1-4;

    1.8K21编辑于 2022-10-31
  • 来自专栏用户1337634的专栏

    MySQL主从复制

    主从是MySQL最基本的数据冗余与高可用方案,本文重点介绍一下如何搭建,以及如何只同步部分库或表 搭建主从复制 配置Master 配置my.cnf 修改mysql配置文件,不同的系统my.cnf路径不同 最好有含义(关键就是这里了) log-bin=mysql-bin ## 为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存 binlog_cache_size=1M ## 主从复制的格式 expire_logs_days=7 ## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。 expire_logs_days=7 ## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。 可以,不过从库也需要开启二进制日志,如 ## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用 log-bin=mysql-slave1-bin 参考 MySQL 主从复制搭建

    2.1K21发布于 2019-03-27
  • 来自专栏开源部署

    Redis主从复制过程和实现主从复制

    一.Redis主从复制同步实现的过程 1.从服务发送一个sync同步命令给主服务要求全量同步 2.主服务接收到从服务的sync同步命令时,会fork一个子进程后台执行bgsave命令(非阻塞)快照保存, 生成RDB文件,并将 RDB文件发送给从服务 3.从服务再将接收到的RDB文件载入自己的redis内存 4.待从服务将RDB载入完成后,主服务再将缓冲区所有写命令发送给从服务 5.从服务在将主服务所有的写命令载入内存从而实现数据的完整同步 localhost ~]# redis-cli 127.0.0.1:6379> auth 123456 OK 127.0.0.1:6379> keys * 1) "wang" 2) "dfd" 3) "lady" 4) repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:57 repl_backlog_histlen:2184 4. master_link_status:up  #主从连接建立成功 ….. ….. 27.0.0.1:6379> keys *  #查看从主服器同步到的数据 1) "wang" 2) "name" 3) "dfd" 4)

    47920编辑于 2022-08-18
  • 来自专栏Java学习录

    Redis主从复制

    ◆ 简单介绍 ◆ Redis的主从复制可以把数据复制多个副本部署到其他机器,从而避免了系统中的单点问题以及满足故障恢复和负载均衡等需求。 在Redis的主从复制架构中,存在两种节点,主节点和从节点。 一个主节点可以有多个从节点 一个从节点只能有一个主节点 主从复制是主节点的数据会异步同步到所有的从节点上 ◆ 如何使用主从复制 ◆ Redis默认部署是以主节点的形式部署的,我们只需要关心从节点如何部署即可 后重启即可 在redis-server启动命令后加入--slaveof 主节点ip 主节点port 直接使用命令:slaveof 主节点ip 主节点port ◆ 验证 ◆ 现在搭建一个3个节点的Redis主从复制集群

    70530发布于 2019-05-06
  • 来自专栏互联网-小阿宇

    mysql主从复制

    实验环境: 准备两台虚拟机,关闭防火墙 主master 修改配置文件 重启mysql 从slave 修改配置文件 重启mysql 登录主master授权 登录从slave接收授权 验证 主上创建库hanyu 去从看一下

    1.2K20编辑于 2022-11-21
  • 来自专栏灰子学技术

    Redis:主从复制

    Redis主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。 一、概述 主从的作用如下所示: 1.数据的热备份 2.故障恢复:在主服务器挂掉的时候,从服务器可以顶替过来 3.负载均衡:读写分离,写数据可以主服务器来做,读操作从服务器来操作 备注:主从复制还是哨兵和集群能够实施的基础 ,因此说主从复制是Redis高可用的基础。

    64442发布于 2020-10-10
  • 来自专栏码猿技术专栏

    Redis主从复制

    Redis主从复制 1.1. 作用 1.2. 搭建前的准备 1.3. 主从节点关系 1.4. 查看复制信息 info replication 1.5. 建立复制 1.5.1. 树状主从结构 Redis主从复制 本章介绍Redis的一个强大功能–主从复制。一台master主机可以拥有多台slave从机。而一台slave从机又可以拥有多个slave从机。 作用 主从复制,读写分离,容灾恢复。一台主机负责写入数据,多台从机负责备份数据。在高并发的场景下,即便是主机挂了,可以用从机代替主机继续工作,避免单点故障导致系统性能问题。 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:2 repl_backlog_histlen:17378 建立主从复制之后 大概在配置文件中的210行左右,有一个# slaveof <masterip> <masterport>,我们可以在这个地方配置slaveof 127.0.0.1 6381 一旦配置完成之后,redis启动将会建立主从复制

    54810发布于 2019-12-31
  • 来自专栏用户11994688的专栏(2)

    Redis主从复制

    为什么要有主从复制如果数据都存在同一台服务器上,假设遇到以下两种情况的任意一种:1.服务器宕机。在恢复期间,无法处理客户端请求;2.服务器硬盘损坏,数据丢失;都会造成一定的损失。 Redis提供了主从复制模式来解决上述问题。主从复制模式能保证数据的一致性,并且采用读写分离的方式完成了任务的分配。 总结主从复制的三种模式:全量复制、基于长连接的命令传播、增量复制。建立连接后,由于双方完全不了解彼此,因此要进行全量复制。在全量复制中,生成 RDB 文件和发送 RDB 文件都是耗时的操作。

    10710编辑于 2026-03-26
  • 来自专栏小手冰凉

    redis 主从复制

    配置redis主从复制 在redis的主从复制中,和其他服务一样,都有master和slave两个角色,默认每个redis节点都是主节点,每个从节点也只能有一个主节点,而主节点可以配置多个从节点。 slave master_host:192.168.171.151 master_port:6381 master_link_status:up master_last_io_seconds_ago:4 主从复制过程的原理 主从复制过程如下: ? 1、从节点执行 slaveof 命令 2、从节点只是保存了 slaveof 命令中主节点的信息,并没有立即发起复制 3、从节点内部的定时任务发现有主节点的信息,开始使用 socket 连接主节点 4、连接建立成功后 server # Server redis_version:5.0.5 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:8a99526af4b4558d

    1.4K20发布于 2020-07-27
领券