在服务器上,这里以linux服务器为例,为redis配置密码。
1.第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效,)
(1)首先进入redis,如果没有开启redis则需要先开启:
[root@iZ94jzcra1hZ bin]# redis-cli -p 6379
127.0.0.1:6379>
(2)查看当前redis有没有设置密码:
127.0.0.1:6379> config get requirepass
"requirepass"
""
(3)为以上显示说明没有密码,那么现在来设置密码:
127.0.0.1:6379> config set requirepass abcdefg
OK
127.0.0.1:6379>
(4)再次查看当前redis就提示需要密码:
127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.
127.0.0.1:6379>
2.第二种方式 (永久方式)
需要永久配置密码的话就去redis.conf的配置文件中找到requirepass这个参数,如下配置:
修改redis.conf配置文件
# requirepass foobared
requirepass 06929指定密码06929
保存后重启redis就可以了
连接redis
1.redis-cli连接redis
[root@iZ2ze3zda3caeyx6pn7c5zZ bin]# redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 06929 //指定密码
OK
127.0.0.1:6379> keys *
"a"
"cit"
"clist"
"1"
127.0.0.1:6379>
redis 设置auth
进入redis_cli 客户端,相应执行以下命令
config set masterauth 密码
config set requirepass 密码
重新连接客户端,这是就需要将密码带上 ,
auth 密码
config rewrite 可以将config set持久化到Redis配置文件中
其他阅读:
redis配置认证密码
redis配置密码
1.通过配置文件进行配置
yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到
#requirepass foobared
去掉行前的注释,并修改密码为所需的密码,保存文件
requirepass myRedis
重启redis
sudo service redis restart
#或者
sudo service redis stop
sudo redis-server /etc/redis.conf
这个时候尝试登录redis,发现可以登上,但是执行具体命令是提示操作不允许
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]>
尝试用密码登录并执行具体的命令看到可以成功执行
redis-cli -h 127.0.0.1 -p 6379 -a myRedis
redis 127.0.0.1:6379> keys *
"myset"
"mysortset"
redis 127.0.0.1:6379> select 1
OK
redis 127.0.0.1:6379[1]> config get requirepass
"requirepass"
"myRedis"
2.通过命令行进行配置
redis 127.0.0.1:6379[1]> config set requirepass my_redis
OK
redis 127.0.0.1:6379[1]> config get requirepass
"requirepass"
"my_redis"
无需重启redis
使用第一步中配置文件中配置的老密码登录redis,会发现原来的密码已不可用,操作被拒绝
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,可以执行相应操作
redis-cli -h 127.0.0.1 -p 6379 -a my_redis
redis 127.0.0.1:6379> config get requirepass
"requirepass"
"my_redis
尝试重启一下redis,用新配置的密码登录redis执行操作,发现新的密码失效,redis重新使用了配置文件中的密码
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
"requirepass"
"myRedis"
除了在登录时通过 -a 参数制定密码外,还可以登录时不指定密码,而在执行操作前进行认证。
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
"requirepass"
"myRedis"
3.master配置了密码,slave如何配置
若master配置了密码则slave也要配置相应的密码参数否则无法进行正常复制的。
slave中配置文件内找到如下行,移除注释,修改密码即可
#masterauth mstpassword
PS:
在使用config set requirepass my_redis 设置新密码后重启redis,再使用新密码登录失败,新密码失效的原因是在设置新密码后没有使用config rewrite命令将修改持久化到redis.conf配置文件;
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!