Redis如何配置主从复制关系_利用REPLICAOF命令将节点挂载至主节点

REPLICAOF 失效常见原因为网络不通、主节点 protected-mode yes 未配 bind 或 requirepass、从节点未设 masterauth;需 telnet 测试连通,关闭 protected-mode 或 bind 0.0.0.0,配置 masterauth 并写入 redis.conf 持久化。REPLICAOF 命令执行后没生效,主从没连上常见现象是执行 REPLICAOF 192.168.1.10 6379 后,用 INFO replication 查看仍显示 role:master,或 master_link_status:down。根本原因通常是网络不通、主节点未开启远程连接、或主节点配置了 protected-mode yes 且没配 bind 或 requirepass。先在从节点上用 telnet 192.168.1.10 6379 测试连通性;不通就查防火墙、Docker 网络或云服务器安全组主节点必须关闭 protected-mode(设为 no),或显式配置 bind 地址(如 bind 0.0.0.0)并确保不暴露在公网如果主节点启用了密码认证,从节点需同步设置 masterauth "yourpass",否则握手阶段就会被拒绝REPLICAOF 是运行时命令,重启 Redis 后失效;要持久化,得写进 redis.conf 里,加两行:replicaof 192.168.1.10 6379 和 masterauth "yourpass"主节点拒绝同步:error: NOAUTH Authentication required这是最典型的权限断连场景------从节点发 SYNC 请求时,主节点要求 AUTH,但从节点没带密码过去。注意:这不是客户端连接密码,而是复制链路专用的 masterauth。主节点的 requirepass 只控制客户端连接,不影响复制协议本身;真正控制复制身份的是从节点上的 masterauth 配置项不能靠在从节点执行 AUTH 命令来"提前登录",REPLICAOF 触发的同步流程不复用当前连接的认证状态若主节点密码含特殊字符(如 @、/),masterauth 值无需 URL 编码,Redis 内部直接按字符串比对验证方式:在从节点执行 CONFIG GET masterauth,确认返回值和主节点 requirepass 一致从节点启动即报错:Failed to establish connection with masterRedis 启动时自动加载 redis.conf 中的 replicaof 指令,但如果此时主节点不可达,会持续重试并记录错误日志,但不会阻塞自身启动。用户感知到的"报错",往往来自日志里的反复重连失败。 文小言 百度旗下新搜索智能助手,有问题,问小言。

相关推荐
许彰午4 小时前
14_Java泛型完全指南
java·windows·python
广州灵眸科技有限公司4 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) Easy-Eai编译环境准备与更新
服务器·前端·人工智能·python·深度学习
IT龟苓膏4 小时前
Redis 数据类型底层原理:SDS、quicklist、intset、skiplist、Bitmap、HyperLogLog 一篇讲清
数据库·redis·skiplist
TechWayfarer4 小时前
IP风险等级评估接入实战:金融信贷如何用IP画像辅助风控审核
python·tcp/ip·安全·金融
Esaka_Forever4 小时前
uv init 完整用法(Python 最快包管理器)
服务器·python·uv
流星白龙4 小时前
【MySQL高阶】19.变更缓冲区,自适应哈希索引,日志缓冲区
数据库·windows·mysql
晴天¥5 小时前
Oracle中的监听配置与管理(动态、静态监听配置对比以及listener.ora和tnsnames.ora)
数据库·oracle
瀚高PG实验室6 小时前
python连接HGDB超时
数据库·瀚高数据库·highgo
闪电悠米7 小时前
黑马点评-Redisson-01_why_redisson
java·服务器·网络·数据库·缓存·wpf
Counter-Strike大牛7 小时前
SpringBoot2.7.10+MyBatisPlus实现MySQL+DM双数据库切换
数据库·mysql