redis集群密码认证

第一种方式:修改配置文件

在集群所有节点的redis.conf中加入下面两行,然后重启每个节点 ,psW5MOxIWKhZSLfb为密码,请自行替换:
masterauth psW5MOxIWKhZSLfb
requirepass psW5MOxIWKhZSLfb

第二种方式:使用命令

进入每个节点服务器,运行下面命令,不用重启节点:
./redis-cli -c -p 7001
config set masterauth psW5MOxIWKhZSLfb
config set requirepass psW5MOxIWKhZSLfb
config rewrite

[[email protected] redis01]#./bin/redis-cli -h 172.100.1.36 -c -p 7001
172.100.1.36:7001> config set masterauth psW5MOxIWKhZSLfb
OK
172.100.1.36:7001> config set requirepass psW5MOxIWKhZSLfb
OK
172.100.1.36:7001> config rewrite
(error) NOAUTH Authentication required.

注意这里config rewrite 是将密码写入到redis.conf 里面,如果不执行改步骤,那么下次重启redis之后需要重新添加密码认证
[[email protected] redis01]#./bin/redis-cli -h 172.100.1.36  -c -p 7001
172.100.1.36:7001> auth psW5MOxIWKhZSLfb
OK
172.100.1.36:7001> get hello
"world"
172.100.1.36:7001> config rewrite
OK

这时候查看7001 端口的redis.conf 会自动加了下面两行
masterauth "psW5MOxIWKhZSLfb"
requirepass "psW5MOxIWKhZSLfb"

注意:
1.如果对集群设置密码,那么requirepass和masterauth都需要设置,否则发生主从切换时,就会遇到授权问题,可以模拟并观察日志
2.各个节点的密码都必须一致,否则Redirected就会失败
3.登录方式:
(1)./bin/redis-cli -h 172.100.1.36  -c -p 7001
172.100.1.36:7001> get hello
(error) NOAUTH Authentication required.
172.100.1.36:7001> auth psW5MOxIWKhZSLfb
OK
172.100.1.36:7001> get hello
"world"
172.100.1.36:7001>
(2)./bin/redis-cli -h 172.100.1.36  -c -a 'psW5MOxIWKhZSLfb' -p 7001
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
172.100.1.36:7001> get hello
"world"
172.100.1.36:7001>

你可能感兴趣的:(Redis,笔记,redis,密码认证)