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重置密码;