標籤:
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 *
- 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.通過命令列進行配置
- 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,會發現原來的密碼已不可用,操作被拒絕
- 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
- 1) "requirepass"
- 2) "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
- 1) "requirepass"
- 2) "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
- 1) "requirepass"
- 2) "myRedis"
3.master配置了密碼,slave如何配置
若master配置了密碼則slave也要配置相應的密碼參數否則無法進行正常複製的。
slave中設定檔內找到如下行,移除注釋,修改密碼即可
- #masterauth mstpassword
redis配置認證密碼