尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
CentOS7.9:Redis主从复制结构化实战
一、项目概述1.1 业务场景说明主从复制Master‑Slave把主节点 (Master) 内存数据同步到从节点 (Slave)实现数据备份读写分离写请求交给主库查询请求分发到从库分担压力为主从切换、哨兵模式、Redis‑Cluster 集群打下基础。主库可以拥有多个从库从库默认只读。1.2 环境参数项目参数操作系统CentOS Linux release 7.9‑2009Redis 版本redis‑5.0.10主节点192.168.1.10:6379 master从节点 1192.168.1.10:6380 slave1从节点 2192.168.1.10:6381 slave2安全策略关闭 firewalld、SELinux主库密码Admin123456二、前期环境准备2.1 关闭安全策略systemctl stop firewalldsystemctl disable firewalldsetenforce 0sed -i ‘s/^SELINUXenforcing/SELINUXdisabled/’ /etc/selinux/config2.2 主节点配置文件6379port 6379bind 0.0.0.0daemonize yespidfile /var/run/redis_6379.pidrequirepass Admin123456dir /usr/local/redis/data#开启RDB持久化save 60 10启动主服务redis-server /usr/local/redis/conf/redis-6379.conf2.3 从节点配置两种方式方式一修改配置文件永久生效方式二redis‑cli 命令动态设置重启后失效。方式 1修改配置文件生产环境6380 节点配置port 6380bind 0.0.0.0daemonize yespidfile /var/run/redis_6380.pid指定主库IP和端口slaveof 192.168.1.10 6379填写主库密码masterauth Admin123456从节点开启只读模式replica-read-only yes复制配置文件创建 6381 实例修改端口。cp /usr/local/redis/conf/redis-6380.conf /usr/local/redis/conf/redis-6381.confsed -i ‘s/6380/6381/’ /usr/local/redis/conf/redis-6381.conf启动两个从节点redis-server /usr/local/redis/conf/redis-6380.confredis-server /usr/local/redis/conf/redis-6381.conf方式 2命令动态设置临时测试进入从库客户端执行重启 Redis 配置失效SLAVEOF 192.168.1.10 6379CONFIG SET masterauth “Admin123456”CONFIG SET replica-read-only yes取消主从关系升级为独立主库SLAVEOF NO ONE三、查看主从同步状态登录主库或者从库执行命令INFO replication字段说明role:master当前节点为主节点role:slave代表从节点slave_io_running:yes从节点网络连接正常slave_sql_running:yes数据同步正常两个参数都为 yes代表主从复制成功。四、主从复制完整流程原理从节点发起连接请求建立网络连接主库执行 BGSAVE生成 RDB 全量快照发送给从节点从节点清空自身旧数据加载 RDB 文件完成全量同步主库把新产生的写命令存入复制缓冲区通过缓冲区持续向从库推送增量命令实现增量同步网络中断重连之后使用部分重同步机制只同步断开期间的数据不用全量同步。核心概念复制积压缓冲区 (repl‑backlog)主库开辟一块内存缓冲区保存最近一段写指令从库断线重连对比偏移量只同步缺失数据避免全量快照提升同步效率。#配置文件调整缓冲区大小repl-backlog-size 128mb五、读写分离实战方案写操作全部连接主节点 (6379)查询操作程序连接两个从节点 (6380、6381)分担查询压力从节点默认只读禁止业务写入数据。六、一主一从、一主多从、链式主从一主多从一个 master多个 slave本案例模式链式复制A (master)‑B (slavemaster)‑C (slave)B 既是 A 的从库又是 C 的主库缺点主库故障链式延迟变大生产环境不推荐。七、动态运维命令无需重启服务#开启从库只读CONFIG SET replica-read-only yes#修改主库密码后从库更新密码CONFIG SET masterauth “Admin123456”#查看复制参数配置CONFIG GET repl*#取消主从身份SLAVEOF NO ONE八、ks.cfg 脚本批量部署 Redis 实例%postyum install -y gcc gcc-c makecd /usr/local/srcwget https://download.redis.io/releases/redis-5.0.10.tar.gztar -zxf redis-5.0.10.tar.gzcd redis-5.0.10make MALLOClibcmake install PREFIX/usr/local/redis%end九、高频故障总结故障 1INFO replication 中 slave_io_running 为 no连接失败原因防火墙拦截端口bind 绑定 127.0.0.1masterauth 密码填写错误解决关闭防火墙bind 设置 0.0.0.0核对主库密码。故障 2slave‑io 正常slave‑sql‑running 为 no同步数据错乱原因从库残留旧数据版本不兼容解决清空从库数据文件重启 Redis 重新全量同步。故障 3网络频繁断开每次都触发全量同步原因repl‑backlog‑size 缓冲区空间过小断线数据超出缓冲区解决调大 repl‑backlog‑size 缓冲区。故障 4主库修改密码后从库同步中断原因从库 masterauth 配置没有更新解决从库执行 CONFIG SET masterauth更新密码配置。文档不含文档不含[toc]标记可直接复制发布 CSDN 文档。CentOS7.9Redis 主从复制结构化实战教程一、项目概述1.1 业务场景说明主从复制Master‑Slave把主节点 (Master) 内存数据同步到从节点 (Slave)实现数据备份读写分离写请求交给主库查询请求分发到从库分担压力为主从切换、哨兵模式、Redis‑Cluster 集群打下基础。主库可以拥有多个从库从库默认只读。1.2 环境参数项目参数操作系统CentOS Linux release 7.9‑2009Redis 版本redis‑5.0.10主节点192.168.1.10:6379 master从节点 1192.168.1.10:6380 slave1从节点 2192.168.1.10:6381 slave2安全策略关闭 firewalld、SELinux主库密码Admin123456二、前期环境准备2.1 关闭安全策略systemctl stop firewalldsystemctl disable firewalldsetenforce 0sed -i ‘s/^SELINUXenforcing/SELINUXdisabled/’ /etc/selinux/config2.2 主节点配置文件6379port 6379bind 0.0.0.0daemonize yespidfile /var/run/redis_6379.pidrequirepass Admin123456dir /usr/local/redis/data#开启RDB持久化save 60 10启动主服务redis-server /usr/local/redis/conf/redis-6379.conf2.3 从节点配置两种方式方式一修改配置文件永久生效方式二redis‑cli 命令动态设置重启后失效。方式 1修改配置文件生产环境6380 节点配置port 6380bind 0.0.0.0daemonize yespidfile /var/run/redis_6380.pid指定主库IP和端口slaveof 192.168.1.10 6379填写主库密码masterauth Admin123456从节点开启只读模式replica-read-only yes复制配置文件创建 6381 实例修改端口。cp /usr/local/redis/conf/redis-6380.conf /usr/local/redis/conf/redis-6381.confsed -i ‘s/6380/6381/’ /usr/local/redis/conf/redis-6381.conf启动两个从节点redis-server /usr/local/redis/conf/redis-6380.confredis-server /usr/local/redis/conf/redis-6381.conf方式 2命令动态设置临时测试进入从库客户端执行重启 Redis 配置失效SLAVEOF 192.168.1.10 6379CONFIG SET masterauth “Admin123456”CONFIG SET replica-read-only yes取消主从关系升级为独立主库SLAVEOF NO ONE三、查看主从同步状态登录主库或者从库执行命令INFO replication字段说明role:master当前节点为主节点role:slave代表从节点slave_io_running:yes从节点网络连接正常slave_sql_running:yes数据同步正常两个参数都为 yes代表主从复制成功。四、主从复制完整流程原理从节点发起连接请求建立网络连接主库执行 BGSAVE生成 RDB 全量快照发送给从节点从节点清空自身旧数据加载 RDB 文件完成全量同步主库把新产生的写命令存入复制缓冲区通过缓冲区持续向从库推送增量命令实现增量同步网络中断重连之后使用部分重同步机制只同步断开期间的数据不用全量同步。核心概念复制积压缓冲区 (repl‑backlog)主库开辟一块内存缓冲区保存最近一段写指令从库断线重连对比偏移量只同步缺失数据避免全量快照提升同步效率。#配置文件调整缓冲区大小repl-backlog-size 128mb五、读写分离实战方案写操作全部连接主节点 (6379)查询操作程序连接两个从节点 (6380、6381)分担查询压力从节点默认只读禁止业务写入数据。六、一主一从、一主多从、链式主从一主多从一个 master多个 slave本案例模式链式复制A (master)‑B (slavemaster)‑C (slave)B 既是 A 的从库又是 C 的主库缺点主库故障链式延迟变大生产环境不推荐。七、动态运维命令无需重启服务#开启从库只读CONFIG SET replica-read-only yes#修改主库密码后从库更新密码CONFIG SET masterauth “Admin123456”#查看复制参数配置CONFIG GET repl*#取消主从身份SLAVEOF NO ONE八、ks.cfg 脚本批量部署 Redis 实例%postyum install -y gcc gcc-c makecd /usr/local/srcwget https://download.redis.io/releases/redis-5.0.10.tar.gztar -zxf redis-5.0.10.tar.gzcd redis-5.0.10make MALLOClibcmake install PREFIX/usr/local/redis%end九、高频故障总结故障 1INFO replication 中 slave_io_running 为 no连接失败原因防火墙拦截端口bind 绑定 127.0.0.1masterauth 密码填写错误解决关闭防火墙bind 设置 0.0.0.0核对主库密码。故障 2slave‑io 正常slave‑sql‑running 为 no同步数据错乱原因从库残留旧数据版本不兼容解决清空从库数据文件重启 Redis 重新全量同步。故障 3网络频繁断开每次都触发全量同步原因repl‑backlog‑size 缓冲区空间过小断线数据超出缓冲区解决调大 repl‑backlog‑size 缓冲区。故障 4主库修改密码后从库同步中断原因从库 masterauth 配置没有更新解决从库执行 CONFIG SET masterauth更新密码配置。
RELATED

相关推荐

Linux操作系统RPM包结构化完整实操教程(安装/卸载/查询/升级/排错)

Linux操作系统RPM包结构化完整实操教程(安装/卸载/查询/升级/排错)

一、命令概述1.1 实操目标理解RPM包核心原理与命名规则掌握RPM包本地安装、升级、卸载实操熟练使用RPM各类查询命令(信息/文件/依赖)学会依赖冲突、安装报错等生产故障排错掌握生产环境RPM包标准化运维流程1.2 RPM包核心介绍RPM(RedHat Packa…

📅 2026/8/23 17:08:34
Wannakey:无需支付赎金,免费恢复WannaCry加密文件的3步内存密钥恢复方案

Wannakey:无需支付赎金,免费恢复WannaCry加密文件的3步内存密钥恢复方案

Wannakey:无需支付赎金,免费恢复WannaCry加密文件的3步内存密钥恢复方案 【免费下载链接】wannakey Wannacry in-memory key recovery 项目地址: https://gitcode.com/gh_mirrors/wa/wannakey Wannakey是一款专门针对WannaCry勒索软件设计的内存密…

📅 2026/8/23 17:08:34
GitHub Copilot SDK代理循环:工具使用循环和完成信号的深度解析

GitHub Copilot SDK代理循环:工具使用循环和完成信号的深度解析

GitHub Copilot SDK代理循环:工具使用循环和完成信号的深度解析 【免费下载链接】copilot-sdk Multi-platform SDK for integrating GitHub Copilot Agent into apps and services 项目地址: https://gitcode.com/GitHub_Trending/co/copilot-sdk GitHub Cop…

📅 2026/8/23 17:08:34
MORE NEWS

更多资讯

📰

GitHub Copilot CLI 装了 context-mode 但 hook 路由不生效怎么排查?

GitHub Copilot CLI 装了 context-mode 但 hook 路由不生效怎么排查? 【免费下载链接】context-mode Context window optimization for AI coding agents. Sandboxes tool output (98% reduction), persists session memory, and enforces routing across 17 platfo…

📰

Trae奖品开箱到积分激活:兑换码使用、智能体模式与高频避坑指南

快递柜弹出取件码的时候,我一时没反应过来是Trae的奖品到了。拆开包裹,T恤、帆布袋、贴纸加一叠积分兑换码卡片整整齐齐躺在里面,才想起半个月前顺手参加的那场官方社区活动。说实话,当时报名也就是抱着"试一试"的心态&…

📰

VulHub Struts2 S2-007 实战:验证转换失败引发的 OGNL 表达式注入与远程代码执行

VulHub Struts2 S2-007 实战:验证转换失败引发的 OGNL 表达式注入与远程代码执行 【免费下载链接】vulhub Pre-Built Vulnerable Environments Based on Docker-Compose 项目地址: https://gitcode.com/GitHub_Trending/vu/vulhub 本文围绕 VulHub 仓库中的 …

📰

Autoware 实战入门:30 分钟从 git clone 到跑通第一条规划轨迹

Autoware 实战入门:30 分钟从 git clone 到跑通第一条规划轨迹 【免费下载链接】autoware Autoware - the worlds leading open-source software project for autonomous driving 项目地址: https://gitcode.com/GitHub_Trending/au/autoware 手装 ROS 2、配…

📰

Rufus 完整指南:快速绕过 TPM 2.0 制作 Windows 11 安装 U 盘

Rufus 完整指南:快速绕过 TPM 2.0 制作 Windows 11 安装 U 盘 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus 用 Rufus 制作 Windows 11 安装 U 盘,而不需要你的电脑有 TP…

📰

Unity逆向九层解剖:从Assembly-CSharp.dll到运行时逻辑穿透

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬