首页/数据/数据库速查/REPLICAOF / SLAVEOF 配置主从
Redis 运维与场景124 条

REPLICAOF / SLAVEOF 配置主从

让当前实例成为指定主库的从库:REPLICAOF host port 动态生效(立即全量同步),REPLICAOF NO ONE 断开变回主库。

数据库速查数据更新于 2026-10-13

主从关系怎么配

主从关系配置命令让当前实例成为指定上游的从库,动态执行立即生效并触发一次数据同步;也支持断开关系让实例变回独立实例。用命令行动态配置在重启后会丢失,要长期保持必须写进配置文件。最需要记住的是方向与后果:从库执行该命令时会先清空自身数据再全量同步,误操作等于清库。

基本信息

语法指定上游地址与端口 / 断开主从关系
旧名早期写法为它的别名,功能相同
动态生效执行后立即触发同步
持久化需写入配置文件才能在重启后保留
查看命令复制信息命令查看角色与链路状态
账号要求上游设置了口令时必须给从库配置认证口令

典型使用场景

  • 新从库接入:动态指定上游并开始同步
  • 迁移切换:把从库重新指向新的上游
  • 故障演练:临时断开主从验证业务降级行为
  • 只读实例扩容:新增实例后接入复制链路
  • 测试环境快速搭一套主从
  • 上游下线前把从库重新指向新的主库

动态配置

动态配置
# 在从库上执行:指向上游实例
REPLICAOF 10.0.0.10 6379
INFO replication | grep role   # 角色应显示为从库
INFO replication | grep master_link_status   # 应为 up
# 断开主从关系,变回独立实例
REPLICAOF NO ONE
# 配置文件方式(重启后仍生效):replicaof 10.0.0.10 6379

状态字段读法

字段含义判读要点
role当前角色从库显示为从角色
master_link_status与上游的链路状态up 为正常,down 需要排查
master_host 与端口上游地址确认指向的实例是否正确
master_last_io_seconds_ago最近一次与上游交互距今时长持续增大说明链路异常
复制偏移量从库已同步的位置与上游比较可判断落后程度
全量同步进行中标记是否正在全量同步为进行中时数据尚未追平
已连接从库数在上游侧看到的从库数量确认从库是否真的接上了
从库执行该命令指向新上游时会先清空自身数据再全量同步:执行前确认这个实例没有独有数据,别把缓存里的临时数据误当业务数据。
上游设置了访问口令却没有给从库配置认证口令,同步会直接失败并报认证错误,这是主从搭建里最常见的阻断点之一。
动态配置在重启后不保留:生产环境应把主从关系写进配置文件或由运维系统统一下发,避免一次重启就悄悄改变了拓扑。

主从配置检查清单

  • 确认上游地址端口与认证口令都已配置
  • 确认从库没有需要保留的独有数据
  • 从库设置为只读,避免业务误写
  • 检查复制状态字段,确认链路正常
  • 观察偏移量推进,确认同步在进行
  • 把拓扑关系固化到配置文件或运维系统
从库承担读流量时要注意数据可见性:同步是异步的,上游刚写入的数据在从库上可能短暂读不到,强一致要求的读请求应回到上游。
切换前先确认从库的偏移量已经追平上游:带着落后数据直接提升为主库,会丢掉这段时间内的写操作,切换窗口内最好先停写再提升。

易错点

  • 在生产从库上误执行该命令:本地数据被清空重建,实例上的独有数据将无法恢复
  • 上游有口令却没配置从库认证口令:同步直接失败并报认证错误,白排查一轮网络
  • 只做动态配置不写配置文件:重启后拓扑改变,从库变成独立实例不再同步
  • 从库未设置只读:业务误写入的数据会在下次同步时被覆盖或引发冲突
  • 全量同步期间不关注带宽与内存:大实例同步会占用较多资源,可能波及其他业务

数据来源与参考

  • Redis 官方文档: REPLICAOF
  • Redis 官方文档: SLAVEOF

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌