Redis问题汇总

Redis脚本启动问题

因软件包自带的有脚本,我用的是4.0.10的源码包(redis-4.0.10.tar.gz),适当修改即可

[root@localhost redis-4.0.10]# find / -name redis_init_script

/usr/local/redis-4.0.10/utils/redis_init_script

[root@localhost redis-4.0.10]# cp /usr/local/redis-4.0.10/utils/redis_init_script /etc/init.d/redisd

[root@localhost redis-4.0.10]#cat /etc/init.d/redisd


#!/bin/sh

#

# Simple Redis init.d script conceived to work on Linux systems

# as it does use of the /proc filesystem.


### BEGIN INIT INFO

# Provides:     redis_6379

# Default-Start:        2 3 4 5

# Default-Stop:         0 1 6

# Short-Description:    Redis data structure server

# Description:          Redis data structure server. See https://redis.io

### END INIT INFO


REDISPORT=6379

EXEC=/usr/local/bin/redis-server

CLIEXEC=/usr/local/bin/redis-cli


PIDFILE=/var/run/redis_${REDISPORT}.pid

CONF="/etc/redis/${REDISPORT}.conf"


case "$1" in

    start)

        if [ -f $PIDFILE ]

        then

                echo "$PIDFILE exists, process is already running or crashed"

        else

                echo "Starting Redis server..."

                $EXEC $CONF

        fi

        ;;

    stop)

        if [ ! -f $PIDFILE ]

        then

                echo "$PIDFILE does not exist, process is not running"

        else

                PID=$(cat $PIDFILE)

                echo "Stopping ..."

                $CLIEXEC -p $REDISPORT shutdown

                while [ -x /proc/${PID} ]

                do

                    echo "Waiting for Redis to shutdown ..."

                    sleep 1

                done

                echo "Redis stopped"

        fi

        ;;

    *)

        echo "Please use start or stop as first argument"

        ;;

esac

我的端口是6380 ,安装目录在/usr/local/redis-4.0.10 ,所以更改上边带颜色的即可

REDISPORT=6380 

EXEC=/usr/local/redis-4.0.10/src/redis-server

CLIEXEC=/usr/local/redis-4.0.10/src/redis-cli 

CONF="/usr/local/redis-4.0.10/redis.conf"

给与执行权限后停止报错

[root@localhost redis-4.0.10]# /etc/init.d/redisd stop

Stopping ...

Warning: Using a password with '-a' option on the command line interface may not be safe.

(error) NOAUTH Authentication required.

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

^C

此时检查进程还在,既然是提示验证出错,那就检查脚本

$CLIEXEC -a "password" -p $REDISPORT shutdown  

添加红色内容,password是用redis-cli客户端登陆 -a后面跟的密码


[root@localhost redis-4.0.10]# /etc/init.d/redisd stop

Stopping ...

Warning: Using a password with '-a' option on the command line interface may not be safe.

Waiting for Redis to shutdown ...

Redis stopped

OK已成功停止Redis




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章