【Redis】Redis如何修改密码?

文章目录

    • [一、为什么需要设置 Redis 密码?](#一、为什么需要设置 Redis 密码?)
    • [二、查看当前 Redis 是否设置了密码](#二、查看当前 Redis 是否设置了密码)
    • [三、在线修改 Redis 密码(临时生效)](#三、在线修改 Redis 密码(临时生效))
    • [四、永久修改 Redis 密码(重启保留)](#四、永久修改 Redis 密码(重启保留))
      • [1. 修改配置文件](#1. 修改配置文件)
      • [2. 重启 Redis 服务](#2. 重启 Redis 服务)
      • [3. 验证密码是否生效](#3. 验证密码是否生效)
    • 五、常见错误及解决方法
    • 六、安全建议
    • 七、总结

css 复制代码
127.0.0.1:6379> auth 123456
(error) ERR Client sent AUTH, but no password is set
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
127.0.0.1:6379> config set requirepass 123456
OK
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379>

一、为什么需要设置 Redis 密码?

Redis 默认安装后是没有密码验证的,这意味着任何能访问 Redis 端口(默认 6379)的人都可以执行命令,存在严重的安全风险。因此,生产环境必须设置密码


二、查看当前 Redis 是否设置了密码

bash 复制代码
redis-cli
127.0.0.1:6379> CONFIG GET requirepass

如果返回为空字符串 "",表示当前没有设置密码。


三、在线修改 Redis 密码(临时生效)

这种方式不需要重启 Redis,但 Redis 重启后会失效。

bash 复制代码
redis-cli
127.0.0.1:6379> CONFIG SET requirepass 你的新密码
OK

设置后立即生效,后续所有操作都需要先认证:

bash 复制代码
127.0.0.1:6379> AUTH 你的新密码
OK

⚠️ 注意:如果 Redis 之前没有密码,直接 CONFIG SET requirepass 即可。如果已有密码,需要先 AUTH 旧密码 才能执行 CONFIG SET


四、永久修改 Redis 密码(重启保留)

1. 修改配置文件

找到 Redis 配置文件(通常是 /etc/redis/redis.conf/usr/local/etc/redis.conf):

bash 复制代码
sudo vim /etc/redis/redis.conf

找到如下行:

conf 复制代码
# requirepass foobared

去掉注释 #,并修改密码:

conf 复制代码
requirepass 你的新密码

2. 重启 Redis 服务

bash 复制代码
# 使用 systemd
sudo systemctl restart redis

# 或使用 init.d
sudo /etc/init.d/redis-server restart

3. 验证密码是否生效

bash 复制代码
redis-cli
127.0.0.1:6379> PING
(error) NOAUTH Authentication required.

127.0.0.1:6379> AUTH 你的新密码
OK
127.0.0.1:6379> PING
PONG

五、常见错误及解决方法

错误信息 原因 解决方案
ERR Client sent AUTH, but no password is set Redis 未设置密码,但客户端尝试用密码登录 检查 CONFIG GET requirepass
ERR invalid password 认证密码错误 确认密码是否正确
ERR unknown command 'CONFIG' Redis 禁用了 CONFIG 命令 使用配置文件方式修改,或启用 CONFIG 命令

六、安全建议

  1. 不要使用弱密码,建议大小写字母+数字+特殊符号组合。
  2. 绑定本地 IP :在配置文件中设置 bind 127.0.0.1,避免暴露公网。
  3. 修改默认端口 :将 port 6379 改为其他端口。
  4. 启用 Redis 6.0+ 的 ACL 功能,实现多用户权限管理。

七、总结

方式 生效方式 重启后是否保留 适用场景
CONFIG SET 立即生效 ❌ 不保留 临时测试、紧急设置
修改配置文件 + 重启 重启后生效 ✅ 保留 生产环境永久配置

推荐 生产环境使用配置文件方式 ,并配合 AUTH 命令验证,确保 Redis 不被未授权访问。


相关推荐
这个DBA有点耶1 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G1 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备1 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远1 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
IT大白鼠1 天前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz1 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
2601_962218612 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren2 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安2 天前
MySQL-触发器
数据库·mysql
白远山2 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析