MASTER aborted replication with an error: NOAUTH Authentication required.
Redis搭建主从报错解决方案
问题
Redis搭建主从复制时,redis-server 启动成功,但 redis-cli 启动后其原有服务 报错,如图:
英汉翻译:
- Partial resynchronization not possible (no cached master) 不可能进行部分重新同步(没有缓存的主机)
Unexpected reply to PSYNC from master: -NOAUTH Authentication required. 来自主机的对PSYNC的意外答复:-无需身份验证。
Retrying with SYNC… 正在重试同步。。。
MASTER aborted replication with an error: NOAUTH Authentication required. 主机中止复制,出现错误:不需要身份验证。
报错原因分析:
一般是因为master节点设置了密码,即master节点的redis.conf文件中设置了 requirepass,如图:
这里我的master节点设置了密码为root,所以!!
如果master节点的配置文件中设置了密码,那么slave节点的配置文件中必须设置 masterauth 参数,否则master会拒绝主从同步!
如图:
因为我的master节点设置的密码是root,所以slave节点配置文件中的masterauth属性也设置为root。
解决后的结果:
设置完成后重启redis服务,记得带上配置文件。 命令:redis-server redis配置文件目录/redis.conf
重启redis-server后,运行命令 redis-cli -p slave端口
注意
redis-cli -p slave端口 这条命令运行后还需要再运行一条命令: auth 设置的密码
以上命令都运行成功后再运行主从关系命令 slaveof 主redisIP 主redis端口
这次就没问题了,如图:
主从关系搭建好后 redis-server 日志如图:
参考文档:
https://blog.csdn.net/hou_ge/article/details/104639396