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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐