从命令行关闭Redis服务器

5

我正在尝试从redis-cli关闭我的redis-server。每当我从客户端发出命令时,我都会收到错误信息“(error) NOAUTH Authentication required.” 我已经尝试了命令“SHUTDOWN”和“SHUTDOWN NOSAVE”。

我还尝试从另一个终端窗口运行“redis-server stop”,但是收到了错误消息“# Fatal error, can't open config file 'stop'”

我该如何关闭这个服务器?(我使用的是OSX系统)。

4个回答

10
您的 Redis 服务器显然配置有密码。因此,在使用 redis-cli 命令之前,您需要发出 "AUTH password" 命令,否则您将收到该错误消息(将 password 替换为您服务器的密码)。
另外,您也可以使用带有 "-a" 开关的 redis-cli 命令,并在后面跟上您的密码来实现相同的效果。
如果要查找服务器密码,请打开 Redis 配置文件(默认为 /etc/redis/6379.conf),并查找以 requirepass 开头的行 - 该行旁边的值即为密码。

谢谢您的回复。我最终在活动管理器中结束了redis-server进程。我将重新创建之前遇到的问题,并尝试使用您更文明的处理方式来解决它。 - trvslhlt
我的 /etc/redis/6379.conf 文件是空的,那么我现在该如何找到密码呢? - Suresh
你需要找到你的服务器使用哪个配置文件 - 默认情况下,Redis 没有密码保护。 - Itamar Haber

9
1. redis-cli
2. auth yourpassword
3. shutdown
4. sudo service redis_6379 start

1
你能详细解释一下为什么这是正确的答案以及它是如何解决 OP 的问题的吗? - Warren Burton
在尝试关闭时,我遇到了ERR错误。输入shutdown后,请检查日志。 - Alex

7

您需要手动编辑启动/停止服务脚本:

sudo vi /etc/init.d/redis_6379

请找到以下行:

$CLIEXEC -p $REDISPORT shutdown

将其替换为以下内容,“changeit”是你的密码:

并将其替换为以下内容,“changeit”是您的密码:

$CLIEXEC -p $REDISPORT -a changeit shutdown

现在您应该能够轻松启动和停止服务了。

0
在Amazon EC2实例上,我可以像这样重新启动本地Redis:
sudo /etc/init.d/redis restart
附注:如果您正在使用Redis身份验证,则必须传递-a 参数。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接