Redis :: CommandError:ERR客户端发送了AUTH,但没有设置密码

时间:2014-10-14 08:49:58

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 redis

这必须是一些错误的配置

我在localhost上安装了redis。

尝试通过Rails控制台连接到它时

Redis.new(:host => 'localhost', :port => 6379)

我无法发送命令而且

Redis::CommandError: ERR Client sent AUTH, but no password is set

我不记得设置密码,也不知道在哪里设置密码

如果我使用不同的URL(如rediscloud或redistogo),我可以发送命令(按照设置密码)

根据我的理解,错误说我正在发送密码,但redis没有密码。但是,正如您所看到的,我没有设置任何密码..

有没有办法调试这个?

3 个答案:

答案 0 :(得分:3)

您可以使用MONITOR命令从Redis端调试客户端的通信。 MONITOR提供了Redis处理的命令流,因此如果您的Ruby客户端发出问题并且未被调用AUTH,您将能够在那里捕获它。

答案 1 :(得分:1)

我遇到了同样的问题,我正在尝试连接而没有在radis服务器上设置密码而我的代码将传递发送为空

编辑redis.conf并设置密码修复

requirepass pass_here

答案 2 :(得分:0)

遵循以下步骤(redis.conf的位置可以不同):

vi /usr/local/etc/redis.conf

取消注释:

# requirepass foobar

停止并开始Redis:

brew services stop redis
brew services start redis

来自redis-cli:

AUTH foobar 
CONFIG SET requirepass "foobar"

全部完成