Redis集群里密码忘了咋办,清除密码步骤和注意点分享
- 问答
- 2026-01-11 21:41:10
- 3
在Redis集群模式下,通常每个节点(包括主节点和从节点)都配置了相同的密码,所谓的“清除密码”或“重置密码”,实际上是指逐个节点地修改其配置文件,移除或更改密码设置,然后重启节点以使更改生效,这个过程需要谨慎操作,因为不当的操作可能导致集群状态异常或数据丢失。
核心步骤
整个操作可以概括为“逐节点、改配置、重启动、验状态”,下面详细说明。
第一步:全面评估与准备

在开始任何操作之前,这是最关键的一步。
- 业务影响评估:确认密码遗忘的节点是处于生产环境还是测试环境,如果是生产环境,务必申请一个业务低峰期的维护窗口,因为重启Redis节点会导致该节点在重启期间不可用,可能影响业务的访问。
- 数据备份:虽然修改密码本身不直接操作数据,但任何涉及重启数据库的操作都存在理论上的风险,强烈建议在操作前对Redis集群进行完整的数据备份,可以使用
redis-cli --cluster backup命令(如果支持)或其他第三方工具来创建RDB或AOF文件的备份,有备无患。 - 获取节点信息:使用能够连接到集群中任意一个节点的客户端(如果还有某个节点没密码或者你知道另一个密码),通过
redis-cli -c -h <某个节点IP> -p <端口> cluster nodes命令,获取整个集群所有节点的IP地址和端口号列表,如果所有节点都因密码遗忘而无法连接,你需要直接登录到部署Redis的服务器上,查看每个节点的配置文件来获取信息。
第二步:逐节点进行操作
你不能同时关闭所有节点,需要逐个进行处理,以确保集群的大多数主节点依然在线,集群本身不会因为节点下线过多而触发故障转移失败或进入下线状态。

- 选择一个节点开始:通常可以从一个从节点开始,或者选择一个你认为影响相对较小的节点。
- 定位配置文件:登录到该节点所在的服务器,Redis的配置文件通常是
redis.conf,你可以通过ps -ef | grep redis命令查看Redis进程的启动参数,找到-c或--config指定的配置文件路径。 - 修改配置文件:使用文本编辑器(如vim)打开配置文件。
- 找到包含
requirepass的配置行,这行设置了连接密码。requirepass your_old_password。 - 要清除密码,你可以直接删除这一行,或者在这一行行首添加号将其注释掉,如果你想设置一个新密码,则修改
your_old_password为新的密码。 - 非常重要:同时找到
masterauth配置行,这个配置是用于从节点连接主节点时进行认证的密码,在集群中,所有节点的masterauth通常也需要设置为相同的密码,如果你清除了requirepass,那么也需要同时清除masterauth(删除或注释),如果你更改了密码,那么也需要将masterauth改为新的密码,必须保证这两个配置的密码一致,否则节点间无法通信。
- 找到包含
- 保存配置并重启节点:保存配置文件后,重启该Redis节点,重启命令取决于你的部署方式,可能是
systemctl restart redis-server、service redis restart,或者是直接kill掉进程再用配置文件重新启动。 - 验证节点状态:
- 重启后,首先尝试不指定密码连接该节点:
redis-cli -h <节点IP> -p <节点端口>,如果配置已正确清除,你应该能成功连接并进入交互命令行,如果还要求密码,说明配置未生效,请检查配置文件路径和重启过程。 - 连接成功后,使用
cluster info命令检查该节点的集群状态,确保它能够重新加入集群(cluster_state:ok),你也可以在其他节点上使用cluster nodes命令,查看该节点是否显示为connected状态。
- 重启后,首先尝试不指定密码连接该节点:
第三步:循环完成所有节点
重复第二步的过程,对集群中的第二个节点进行操作,完成后再操作第三个,以此类推,直到所有节点都处理完毕。 特别注意操作顺序:在重启主节点时要格外小心,最好确保该主节点对应的从节点是健康且在线的,这样当你重启主节点时,集群会自动进行故障转移,将一个从节点提升为新的主节点,以保证服务的高可用性,待原主节点重启并重新加入集群后,它会作为新的从节点运行。
关键注意点分享
- 顺序是关键,严禁批量操作:绝对不要为了省事而同时修改所有节点的配置并一起重启,这会导致整个集群所有节点同时下线,集群将完全不可用,并且可能因为无法达成多数派共识而无法自动恢复,需要手动干预,风险极高。
- 留意主从切换:在重启主节点期间,业务请求可能会被自动转移到其他节点(客户端重定向),但会有短暂的抖动,确保应用程序的Redis客户端配置了合理的重试机制,观察故障转移是否成功。
- 配置一致性:确保所有节点的
requirepass和masterauth在修改后保持一致,如果有的节点清除了密码,而其他节点还有密码,或者密码不一致,会导致节点间无法同步数据,集群会分裂,出现数据不一致的情况。 - 防火墙与网络:在重启过程中,确认服务器的防火墙规则没有阻止Redis节点之间的通信端口(通常是业务端口+10000,如6379和16379),重启后如果节点无法重新加入集群,除了检查密码,也要排查网络问题。
- 操作后整体检查:在所有节点都处理完毕后,使用
redis-cli --cluster check <任意节点IP>:<端口>命令对集群进行一次全面的检查,确保所有槽位(slots)都分配正常,没有错误告警。 - 更新客户端配置:如果你只是清除了密码,那么客户端连接时就不再需要配置密码了,但如果你是为集群设置了新的密码,务必记得同步更新所有应用程序的Redis连接配置,将旧密码更新为新密码,否则业务将因认证失败而无法访问Redis。
处理Redis集群密码遗忘问题,更像是一次小型的集群维护操作,核心思想是“稳”字当头,通过滚动、有序的方式逐个节点更新,时刻监控集群状态,确保服务整体可用性和数据安全性。
本文由太叔访天于2026-01-11发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/78926.html
