如何給redis設(shè)置密碼?
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,發(fā)現(xiàn)可以登上,但是執(zhí)行具體命令是提示操作不允許
[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]>
嘗試用密碼登錄并執(zhí)行具體的命令看到可以成功執(zhí)行
[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,會發(fā)現(xiàn)原來的密碼已不可用,操作被拒絕
[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,可以執(zhí)行相應(yīng)操作
[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執(zhí)行操作,發(fā)現(xiàn)新的密碼失效,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 參數(shù)制定密碼外,還可以登錄時不指定密碼,而在執(zhí)行操作前進行認證。
[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也要配置相應(yīng)的密碼參數(shù)否則無法進行正常復(fù)制的。
slave中配置文件內(nèi)找到如下行,移除注釋,修改密碼即可
[plain] view plain copy
#masterauth mstpassword