尧图网络 高端网站定制 · 原创设计
免费咨询热线
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/10/6 15:17:40
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/9/26 8:56:06
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/10/21 23:57:05
MORE NEWS

更多资讯

📰

RAG管道深度拆解:从索引、检索到生成的Agent知识获取指南

最近在搭建 Agent 的时候,很多人第一个卡住的地方不是模型选择,也不是工具调用,而是怎么把知识喂给 Agent。大模型训练完就固定住了,新知识它不知道,你公司的内部文档它更不知道。这时候 RAG 就得上场了。作为"走…

📰

JMeter性能测试脚本编写与优化实战指南

1. 性能测试脚本编写概述 性能测试脚本是性能测试工程师的"武器库"中最基础的装备。作为从业十年的测试老兵,我见过太多团队在性能测试中投入大量资源却收效甚微,究其原因往往是脚本编写阶段就埋下了隐患。一个健壮的测试脚本应该像瑞士军刀一…

📰

TCP Socket编程实战:从基础到性能优化

1. TCP协议与Socket编程基础TCP(传输控制协议)是互联网协议套件中最核心的传输层协议之一,它通过三次握手建立可靠连接,提供有序、无差错的数据传输。Socket(套接字)则是应用层与TCP/IP协议族通信的中间软件…

📰

低功耗SoC IP摄像头开源固件刷机与本地录像实践

折腾网络摄像头这事儿,我断断续续做了几年,真正让我觉得"值了"的转折点,是给手头那批低功耗 SoC 的 IP 摄像头换上开源固件。原厂固件那套东西,用过的人都懂:一个只能跑在特定 App 里的画面、一个不知道连到…

📰

任务链管理三道保险:结构设计、预警机制与断链回捞,让团队完成率稳定90%

"完成率90%"不是靠打鸡血逼出来的。我过去带项目团队,月度计划完成率长期在72%到75%之间徘徊,每次复盘都在互相拉扯"为什么又没做完"。后来花了近一年时间,把任务从"清单"改为"链条"来管理&#xff…

📰

豆包智能体聊天记录批量导出与手动备份实操指南

1. 聊天记录为什么值得单独做备份1.1 智能体对话数据的真实价值被严重低估很多人用豆包智能体,习惯把它当成一个“用完即走”的问答工具,聊完就关,从不觉得那些对话有什么留存价值。但只要你认真用过一段时间就会发现,智能体对话里…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

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

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

📞 💬