1. 程式人生 > >Java鏈接Redis時出現 “ERR Client sent AUTH, but no password is set” 異常的原因及解決辦法

Java鏈接Redis時出現 “ERR Client sent AUTH, but no password is set” 異常的原因及解決辦法

edit 解決 apach 重新啟動 cti cau 文本編輯 cto coder

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。

Java鏈接Redis時出現 “ERR Client sent AUTH, but no password is set” 異常的原因及解決辦法