Redis密码设置方法(分版本与场景)
Redis的密码设置方式因版本(是否支持ACL)和部署场景(物理机/容器)有所差异,以下是具体操作指南:
requirepass
)redis.conf
(通常位于/etc/redis/
或Redis安装目录),找到# requirepass foobared
(默认注释行),去掉注释并将foobared
替换为自定义密码(如requirepass MySecurePass123
)。sudo systemctl restart redis.service
或sudo service redis restart
),否则密码不生效。CONFIG SET requirepass YourPassword
(如CONFIG SET requirepass Redis@2025
),无需重启即可立即生效。CONFIG REWRITE
将当前配置写入redis.conf
文件。quit
),重新连接时使用redis-cli -a YourPassword
(-a
参数指定密码),或连接后执行AUTH YourPassword
(返回OK
表示成功)。Redis 5.0及以上版本引入ACL(访问控制列表),支持更细粒度的用户权限管理(如指定命令、键的访问权限),密码设置更安全。
redis.conf
中启用了ACL文件(添加aclfile /etc/redis/users.acl
,路径可自定义),用于持久化用户配置。redis-cli ACL SETUSER myuser on >MySecureHashedPass ~* +@all
myuser
:用户名(自定义);on
:启用用户;>MySecureHashedPass
:用户的散列密码(通过ACL CAT username
生成,或使用redis-cli
自动生成);~*
:允许访问所有键;+@all
:授予所有命令权限(生产环境建议按需分配,如+get +set
)。redis-cli -h host -p port -u myuser:MySecurePass123
(直接指定用户名和密码);redis-cli -h host -p port
→ 连接后执行AUTH myuser MySecurePass123
。docker run -d --name redis-container -p 6379:6379 redis:latest --requirepass YourPassword
该命令会启动Redis容器并设置密码,但重启容器后需重新指定密码(除非挂载配置文件)。redis.conf
挂载到容器中(如-v /host/redis.conf:/usr/local/etc/redis/redis.conf
),并在配置文件中设置requirepass
,这样重启容器后密码仍有效。Redis@2025#Secure
),避免使用简单密码(如123456
)。redis-server --requirepass ""
);CONFIG SET requirepass NewPassword
重置密码;