【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 不被未授权访问。


相关推荐
创邻科技4 分钟前
国产图数据库刷新 LDBC 世界纪录:创邻科技 Galaxybase 在 SF100、SF300、SF1000 测试中全面领先”
数据库·科技
GreatSQL社区13 分钟前
主从复制SQL线程中断——字符集砸出的坑
java·数据库·算法
XLYcmy29 分钟前
AI 赋能后中文与英文数据库对比分析报告 上
数据库·ai·llm·prompt·检索·wos·cnki
这个DBA有点耶1 小时前
ELT 工具选型完整指南:从 ETL 差异分析到工程落地
数据库·架构·代码规范
IvorySQL1 小时前
PostgreSQL 日报|堆表选择性索引更新(10 月 13 日)
数据库·人工智能·postgresql·开源·区块链
张洛闻Eren1 小时前
Ansible【第一课】:Ansible介绍
运维·数据库·云原生·kubernetes·github·ansible
深圳市益普科技有限公司2 小时前
中小封装厂上 MES,为什么十个项目九个坑?
大数据·数据库·人工智能
云边云科技_云网融合2 小时前
从 POS 机到访客 Wi-Fi:零售门店安全建设的完整解法
服务器·网络·数据库
天行健,君子而铎2 小时前
知形-数据库风险监测系统:非侵入式、可溯源、差异化的数据库安全方案
网络·数据库·安全
这个DBA有点耶2 小时前
分布式事务深度:TCC空回滚、悬挂与Saga补偿风暴的根因与解法
数据库·mysql·代码规范