【问题标题】:shutdown redis-server from command line从命令行关闭 redis-server
【发布时间】:2017-04-19 17:21:36
【问题描述】:

我正在尝试从 redis-cli 关闭我的 redis-server。每当我从客户端发出命令时,我都会收到错误“(错误)需要 NOAUTH 身份验证”。我已经尝试过命令“SHUTDOWN”和“SHUTDOWN NOSAVE”。

我也尝试过从另一个终端窗口“redis-server stop”,但收到错误“# Fatal error, can't open config file 'stop'”

如何关闭此服务器? (我在 OSX 上)。

【问题讨论】:

    标签: macos command-line redis


    【解决方案1】:

    您的 Redis 服务器显然配置了密码。因此,在使用 redis-cli 时,您需要在任何其他命令之前发出 AUTH password 命令,否则您将收到该错误消息(将 password 替换为您的服务器密码)。

    或者,您可以使用-a 开关和密码调用redis-cli 以获得相同的结果。

    要查找服务器的密码,请打开 Redis 配置文件(默认为 /etc/redis/6379.conf)并查找以 requirepass 开头的行 - 旁边的任何值都是密码。

    【讨论】:

    • 感谢您的回复。我最终从活动管理器中杀死了 redis-server 进程。我将重现我之前看到的行为,并尝试您更文明的处理问题的方式。
    • 我的 /etc/redis/6379.conf 是空的,我现在如何找到密码?
    • 您需要找到您的服务器使用的 conf 文件 - 默认情况下,Redis 不受密码保护。
    【解决方案2】:
    1. redis-cli
    2. auth yourpassword
    3. shutdown
    4. sudo service redis_6379 start
    

    【讨论】:

    • 您能否详细说明为什么这是正确答案以及它如何解决 OP 的问题。
    • 我在尝试关机时遇到 ERR 错误。输入shutdown后检查日志
    【解决方案3】:

    您必须手动编辑启动/停止服务脚本:

    sudo vi /etc/init.d/redis_6379
    

    找到以下行:

    $CLIEXEC -p $REDISPORT shutdown
    

    并将其替换为以下“更改它”是您的密码所在:

    $CLIEXEC -p $REDISPORT -a changeit shutdown
    

    现在您应该能够毫无问题地启动和停止服务了。

    【讨论】:

      【解决方案4】:

      在 Amazon EC2 实例上,我可以像这样重启本地 Redis:

      sudo /etc/init.d/redis restart

      附:如果您使用 Redis 身份验证,则必须传递 -a <pass> 参数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-05-03
        • 2013-04-12
        • 2019-01-10
        • 1970-01-01
        • 1970-01-01
        • 2021-09-07
        • 1970-01-01
        相关资源
        最近更新 更多