設(shè)置redis訪問(AUTH)密碼(centos7 php redis auth連接被重置)
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
在服務(wù)器上,這里以linux服務(wù)器為例,為redis配置密碼。
1.第一種方式 (當(dāng)前這種linux配置redis密碼的方法是一種臨時(shí)的,如果redis重啟之后密碼就會(huì)失效,)
(1)首先進(jìn)入redis,如果沒有開啟redis則需要先開啟:
[root@iZ94jzcra1hZ bin]# redis-cli -p 6379 127.0.0.1:6379>
(2)查看當(dāng)前redis有沒有設(shè)置密碼:
127.0.0.1:6379> config get requirepass "requirepass" ""
(3)為以上顯示說明沒有密碼,那么現(xiàn)在來設(shè)置密碼:
127.0.0.1:6379> config set requirepass abcdefg OK 127.0.0.1:6379>
(4)再次查看當(dāng)前redis就提示需要密碼:
127.0.0.1:6379> config get requirepass (error) NOAUTH Authentication required. 127.0.0.1:6379>
2.第二種方式 (永久方式)
需要永久配置密碼的話就去redis.conf的配置文件中找到requirepass這個(gè)參數(shù),如下配置:
修改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 設(shè)置auth
進(jìn)入redis_cli 客戶端,相應(yīng)執(zhí)行以下命令 config set masterauth 密碼 config set requirepass 密碼 重新連接客戶端,這是就需要將密碼帶上 , auth 密碼 config rewrite 可以將config set持久化到Redis配置文件中
其他閱讀:
redis配置認(rèn)證密碼
redis配置密碼
1.通過配置文件進(jìn)行配置
yum方式安裝的redis配置文件通常在/etc/redis.conf中,打開配置文件找到
#requirepass foobared
去掉行前的注釋,并修改密碼為所需的密碼,保存文件
requirepass myRedis
重啟redis
sudo service redis restart #或者 sudo service redis stop sudo redis-server /etc/redis.conf
這個(gè)時(shí)候嘗試登錄redis,發(fā)現(xiàn)可以登上,但是執(zhí)行具體命令是提示操作不允許
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í)行
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.通過命令行進(jìn)行配置
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,會(huì)發(fā)現(xiàn)原來的密碼已不可用,操作被拒絕
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)操作
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執(zhí)行操作,發(fā)現(xiàn)新的密碼失效,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"
除了在登錄時(shí)通過 -a 參數(shù)制定密碼外,還可以登錄時(shí)不指定密碼,而在執(zhí)行操作前進(jìn)行認(rèn)證。
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也要配置相應(yīng)的密碼參數(shù)否則無法進(jìn)行正常復(fù)制的。
slave中配置文件內(nèi)找到如下行,移除注釋,修改密碼即可
#masterauth mstpassword
PS:
在使用config set requirepass my_redis 設(shè)置新密碼后重啟redis,再使用新密碼登錄失敗,新密碼失效的原因是在設(shè)置新密碼后沒有使用config rewrite命令將修改持久化到redis.conf配置文件;
問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!