解决问题redis问题:ERR Client sent AUTH, but no password is set

Java链接Redis时出现 “ERR Client sent AUTH, but no password is set” 异常的原因及解决办法

2017年05月17日 20:09:43 阅读数:20421更多

个人分类: Redis windows Linux

Java链接Redis时出现 “ERR Client sent AUTH, but no password is set” 异常的原因及解决办法

【错误提示】

redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
at redis.clients.util.Pool.getResource(Pool.java:53)
at redis.clients.jedis.JedisPool.getResource(JedisPool.java:226)
at cn.hncu.RedisPool.getJedis(RedisPool.java:66)
at cn.hncu.RedisJava.main(RedisJava.java:15)
Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is set
at redis.clients.jedis.Protocol.processError(Protocol.java:127)
at redis.clients.jedis.Protocol.process(Protocol.java:161)
at redis.clients.jedis.Protocol.read(Protocol.java:215)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)
at redis.clients.jedis.BinaryJedis.auth(BinaryJedis.java:2139)
at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:108)
at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:868)

【问题原因】
Redis服务器没有设置密码,但客户端向其发送了AUTH(authentication,身份验证)请求。

【解决办法】

确定Redis启动时指定是哪个配置文件。

 

如上图是 redis.windows.conf 文件,用文本编辑工具打开文件,找到“requirepass”,去掉注释设置密码。

 

编辑完后保存,重新启动Redis,再运行程序,OK。

附加:

绑定主机:bind 127.0.0.1

绑定密码:requirepass redis123

绑定端口号:port 6380

 

 

 

 

解决问题redis问题:ERR Client sent AUTH, but no password is set

是的,这又是一个坑爹的问题。

明明在redis.conf中设置了密码,而且redis还启动了,为什么说没有密码呢?

大家都知道linux下启动redis有很多种方法,

其中有 ./redis-server &  

这种方法启动,不会带上你的redis.conf配置文件启动

还有 ./redis-server ../redis.conf

这种方法启动的时候,会去带上配置文件redis.conf

上面的问题 ERR Client sent AUTH, but no password is set 。我遇到过一次,原因是我大意了,我用了第一种方式启动,

这个时候redis是没有密码的,但是我的redis配置文件中配置了密码,所以当我在set值的时候就报这个错误了。

所以如果你配置了redis.conf这个文件,那么启动redis的时候也一定要带上这个文件启动。我以后一定要细心,大家也一定要细心,共勉。 

你可能感兴趣的:(Python开发工具)