初始化Redis密码: 在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数; 比如requirepass test123;
没有限制。只要够用就够了,没必要要设置多长
protected-mode是redis本身的一个安全层,这个安全层的作用:就是只有【本机】可以访问redis,其他任何都不可以访问redis。这个安全层开启必须满足三个条件,不然安全层处于关闭状态:
(1)protected-mode yes(处于开启)
(2)没有bind指令。原文:The server is not binding explicitly to a set of addresses using the “bind” directive.
(3)没有设置密码。原文:No password is configured。密码的优先级高。
1、spring配置,下面是一个完整redis配置,密码只需要设置password属性。 –> –> 2、java操作redis,只需要加上jedis.auth(passwd)即可 public static Jedis getRedisConnection(String configFlag){ String host; int port; Jedis jedis = null;
redis需要设置密码,有两种方式,方法1:修改配置文件,编辑redis.config,添加requirepass 你的密码,然后重启redis永久生效。
方法2:登录到redis客户端,输入命令:config set reqiirepass 你的密码,即时生效,此方法适合临时用,一旦redis中断或重启,密码失效
redis需要设置密码,有两种方式,方法1:修改配置文件,编辑redis.config,添加requirepass 你的密码,然后重启redis永久生效。
方法2:登录到redis客户端,输入命令:config set reqiirepass 你的密码,即时生效,此方法适合临时用,一旦redis中断或重启,密码失效
哨兵模式配置
#是否允许远程连接
protected-mode yes
#指定监听端口
port 26380
#master监听地址,mymaster为master名称,可以自定义,字母数字下划线,最后的2代表只有2个哨兵节点同时认为master节点时效时,才算真正的失效
192.168.1.1 6379是master节点ip与端口
sentinel monitor mymaster 192.168.1.1 6379 2
#指定Sentinel判断实例进入主观下线所需的时间长度
sentinel down-after-milliseconds mymaster 10000
#设置连接master和slave时的密码,master和slave的密码应该设置相同
sentinel auth-pass mymaster pw
修改密码没有影响,密码是个人保密,跟平台无关
redis配置密码
1.通过配置文件进行配置
yum方式安装的redis配置文件通常在/etc/redis.conf
中,打开配置文件找到
[plain] view plain copy
#requirepass foobared
去掉行前的注释,并修改密码为所需的密码,保存文件
[plain] view plain copy
requirepass myRedis
重启redis
[plain] view plain copy
sudo service redis restart
#或者
sudo service redis stop
sudo redis-server /etc/redis.conf
这个时候尝试登录redis,发现可以登上,但是执行具体命令是提示操作不允许
[plain] view plain copy
redis-cli -h 127.0.0.1 -p 6379
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> keys *
(error) ERR operation not permitted
redis 127.0.0.1:6379> select 1
(error) ERR operation not permitted
redis 127.0.0.1:6379[1]>
尝试用密码登录并执行具体的命令看到可以成功执行
[plain] view plain copy
redis-cli -h 127.0.0.1 -p 6379 -a myRedis
redis 127.0.0.1:6379> keys *
1) “myset”
2) “mysortset”
redis 127.0.0.1:6379> select 1
OK
redis 127.0.0.1:6379[1]> config get requirepass
1) “requirepass”
2) “myRedis”
2.通过命令行进行配置
[plain] view plain copy
redis 127.0.0.1:6379[1]> config set requirepass my_redis
OK
redis 127.0.0.1:6379[1]> config get requirepass
1) “requirepass”
2) “my_redis”
无需重启redis
使用第一步中配置文件中配置的老密码登录redis,会发现原来的密码已不可用,操作被拒绝
[plain] view plain copy
redis-cli -h 127.0.0.1 -p 6379 -a myRedis
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
使用修改后的密码登录redis,可以执行相应操作
[plain] view plain copy
redis-cli -h 127.0.0.1 -p 6379 -a my_redis
redis 127.0.0.1:6379> config get requirepass
1) “requirepass”
2) “my_redis
尝试重启一下redis,用新配置的密码登录redis执行操作,发现新的密码失效,redis重新使用了配置文件中的密码
[plain] view plain copy
sudo service redis restart
Stopping redis-server: [ OK ]
Starting redis-server: [ OK ]
redis-cli -h 127.0.0.1 -p 6379 -a my_redis
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
redis-cli -h 127.0.0.1 -p 6379 -a myRedis
redis 127.0.0.1:6379> config get requirepass
1) “requirepass”
2) “myRedis”
除了在登录时通过 -a 参数制定密码外,还可以登录时不指定密码,而在执行操作前进行认证。
[plain] view plain copy
redis-cli -h 127.0.0.1 -p 6379
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
redis 127.0.0.1:6379> auth myRedis
OK
redis 127.0.0.1:6379> config get requirepass
1) “requirepass”
2) “myRedis”
3.master
配置了密码,slave如何配置
若master配置了密码则slave也要配置相应的密码参数否则无法进行正常复制的。
slave中配置文件内找到如下行,移除注释,修改密码即可
[plain] view plain copy
#masterauth mstpassword
我的回答:一般是redis-cli -h 127.0.0.1 -p 6379 -a xxx进行连接,xxx是在配置文件redis.conf中配置的密码,配置密码的方法是在redis.conf配置文件中添加:requirepass xxx。