redis 任何命令都执行不了,抛错 NOAUTH Authentication required

redis每次启动和关闭,要执行相关命令,有时候手写容易出错,或是长期没有碰她,一时间可能忘记了命令。所以,今天我就在 /redis/bin 安装装目录下新建了一个启动脚本run..sh,编写如下内容,来便捷地启动和关闭redis服务。

前言

脚本文件run.sh 内容如下:

#!/bin/bash
if [[  -n "$1" ]] ; then
        action=$1
fi
if [ "$action" == "start" ] ;then
        echo "welcome,coder!"
        ./redis-server ./redis.conf
        echo "redis is running"
        exit 1
fi
if [ "$action" == "stop" ] ;then
    ./redis-cli  shutdown 
    echo "goodbye!"
    exit 1
fi

./run.sh start 命令启动redis服务没有问题,可是当我执行./run.sh stop 指令来关闭redsi服务的时候,就会抛出:NOAUTH Authentication required 错误。

[root@localhost bin]# ./run.sh  stop  //命令控制redis关闭服务
(error) NOAUTH Authentication required.
[root@localhost bin]# 

正文

当redis设置了密码,但是没有登录,然后执行如redis-cli shutdown等命令时,就可能抛出NOAUTH Authentication required错误。甚至可能连GETSET这种常见的命令执行也会抛错。如下图:

[root@localhost bin]# ./redis-cli        //进入redis客户端
127.0.0.1:6379> GET NUM			//获取key为NUM的值
(error) NOAUTH Authentication required.
127.0.0.1:6379> 

解决办法很简单,即去授权:

127.0.0.1:6379> auth "123456"   //123456为配置文件  requirepass 字段值
OK
127.0.0.1:6379> GET NUM
"0"
127.0.0.1:6379> 

现在我们 退出redis客户端。执行如下命令关闭redis服务:

127.0.0.1:6379> exit   //退出redis客户端
[root@localhost bin]# ./redis-cli shutdown  //命令控制redis关闭服务
(error) NOAUTH Authentication required.
[root@localhost bin]# 

依然会抛错。那怎么办呢?可以执行如下命令来代替:

./redis-cli -a  "123456" -p 6379 shutdown    //“123456” 为 requirepass 字段值 ,6379 为端口

解决方案

所以,我的问题题就解决了,重新定义编写run.sh 脚本如下:

#!/bin/bash
if [[  -n "$1" ]] ; then
        action=$1
fi
if [ "$action" == "start" ] ;then
        echo "welcome,coder!"
        ./redis-server ./redis.conf
        echo "redis is running"
        exit 1
fi
if [ "$action" == "stop" ] ;then
    ./redis-cli -a  "123456" -p 6379 shutdown   # 代替./redis-cli shutdown
    echo "goodbye!"
    exit 1
fi
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值