Redis用户密码忘了咋办,重启后密码怎么重新设置才行呢?
- 问答
- 2026-01-03 17:43:20
- 25
综合参考了Redis官方文档、社区常见问题解答以及技术博客中的实践经验)
如果你把Redis的密码给忘了,这确实是个麻烦事,但别担心,是有办法解决的,Redis的设计者早就考虑到人会忘密码这种情况,处理这个问题的核心思路其实很简单:既然忘了密码进不去,那就想办法让Redis暂时“别用密码”或者“绕过”密码检查,让你能重新进去设置一个新密码,整个过程有点像如果你忘了家里的智能锁密码,你得先找到一种强制重置的模式(比如通过物理钥匙或者恢复出厂设置),进去之后再把新密码设好。
第一步:找到Redis的配置文件
Redis的所有行为,包括要不要用密码、用什么密码,都是由一个叫 redis.conf 的文件控制的,这个文件通常藏在Redis的安装目录里,它的具体位置因你的安装方式(比如是用软件包管理器安装的,还是自己下载源码编译的)和操作系统而异。
- 在Linux上,常见的位置可能是
/etc/redis/redis.conf。 - 如果你是用
brew在Mac上安装的,可能是在/usr/local/etc/redis.conf。 - 如果你是自己编译的,它就在你解压Redis源代码的那个目录里。
如果你实在找不到,可以用系统自带的搜索功能,比如在Linux或Mac上,可以打开终端,尝试用 find / -name redis.conf 2>/dev/null 这个命令来全盘搜索(可能需要管理员权限)。
第二步:让Redis“忘记”密码(临时关闭密码验证)
找到配置文件后,我们需要修改它,让Redis下次启动时不检查密码,具体做法是:
-
先停止Redis服务:这是很重要的一步,确保数据安全,停止服务的方法也因系统而异。
- 如果Redis是作为系统服务运行的(比如在Ubuntu上用
systemctl),命令通常是sudo systemctl stop redis或sudo systemctl stop redis-server。 - 如果你是直接运行
redis-server启动的,那么回到那个终端窗口,按Ctrl + C就能停止它。
- 如果Redis是作为系统服务运行的(比如在Ubuntu上用
-
备份配置文件(好习惯):在修改任何重要文件前,先做个备份总是没错的,你可以把
redis.conf复制一份,比如叫redis.conf.backup。 -
编辑配置文件:用你熟悉的文本编辑器打开
redis.conf文件,比如用nano:sudo nano /etc/redis/redis.conf。 -
找到密码设置行:在文件里,你需要找到一行关于密码的配置,这行通常长这样:
# requirepass foobared,你可能会注意到,它最开始有个 符号,这表示这一行是注释,是不生效的,也可能你的那一行没有 ,foobared被换成了你之前设的密码(当然你现在忘了)。 -
修改配置:你有两种简单的选择:
- 方法A(推荐):直接注释掉密码行,在这一行的最前面加上一个 号,让它变成注释,如果原来是
requirepass your_forgotten_password,就改成# requirepass your_forgotten_password,这样,Redis启动时就会忽略这个密码设置。 - 方法B:设置一个空密码,你也可以直接把密码设置为空,写成
requirepass "",效果和方法A是一样的。
- 方法A(推荐):直接注释掉密码行,在这一行的最前面加上一个 号,让它变成注释,如果原来是
-
保存并关闭文件。
第三步:重启Redis服务并连接
Redis已经被我们配置成“免密码”模式了。
-
重启Redis服务:
- 系统服务方式:
sudo systemctl start redis - 或者,你也可以切换到Redis的安装目录,直接命令行启动并指定配置文件:
redis-server /path/to/your/redis.conf
- 系统服务方式:
-
测试连接:打开Redis的命令行客户端
redis-cli,你应该可以直接连进去,而不用输入AUTH命令了,命令行会显示0.0.1:6379>这样的提示符。
第四步:重新设置新密码
成功连进去之后,事情就简单了。
-
在Redis命令行内设置新密码:在
redis-cli里,输入以下命令(把your_new_strong_password换成你想设的复杂新密码):CONFIG SET requirepass "your_new_strong_password"按下回车,如果服务器返回
OK,说明新密码已经设置成功了。 -
立即验证新密码:为了确保万无一失,你最好马上在当前的连接里验证一下,输入:
AUTH your_new_strong_password如果也返回
OK,恭喜你,密码已经生效了。
第五步:让修改永久生效
上一步用 CONFIG SET 命令设置的密码,只对当前运行的Redis服务有效,如果服务器重启了,这个设置会丢失,Redis又会回去读配置文件——而我们的配置文件里密码还是被注释掉的空状态,所以我们需要把新密码写回配置文件,让它永久生效。
- 再次编辑
redis.conf文件(Redis服务还在运行,不用停)。 - 找到我们之前修改的那一行(就是带 号或者空密码的那行)。
- 把它改成新密码:去掉行首的 号(如果有的话),并将密码部分改为你的新密码,最终这一行应该看起来像:
requirepass your_new_strong_password。 - 保存文件。
第六步:最后的安全重启(可选但推荐)
为了确保一切配置都正确无误,最好进行一次彻底的重启。
- 停止Redis服务(
sudo systemctl stop redis)。 - 再次启动Redis服务(
sudo systemctl start redis)。 - 尝试用新密码连接:这次,你再用
redis-cli连接后,直接执行任何命令(ping)都会得到(error) NOAUTH Authentication required.的错误提示,这时你需要输入AUTH your_new_strong_password认证之后才能正常操作,这证明你的新密码已经完全配置成功了。
整个过程就是“停服务 -> 改配置(免密码)-> 启服务 -> 连进去设新密码 -> 改回配置(写入新密码)-> 最终重启”,只要按步骤操作,忘记Redis密码的问题就能轻松解决,以后可要记好这个新密码了,或者把它放在安全的密码管理器里。

本文由歧云亭于2026-01-03发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/73835.html
