Redis毗连报错:ERR Client sent AUTH, but no password is set

打印 上一主题 下一主题

主题 526|帖子 526|积分 1578

启动项目时,用到了Redis缓存数据库,但是却出现了报错信息:
  1. Caused by: io.lettuce.core.RedisCommandExecutionException: ERR Client sent AUTH, but no password is set
复制代码
报错截图: 

缘故原由:
产生这个问题的缘故原由非常信息里已经说明,就是Redis服务器没有设置密码,但客户端向其发送了AUTH(authentication,身份验证)请求携带着密码,导致报错。既然是没有设置密码导致的报错,那我们就把Redis服务器给设置上密码就好了。一共有2种方式设置密码:
 
一、命令行方式

1、先进入Redis服务器
  1. C:\Program Files (x86)\Redis-x64-3.2.100>redis-cli.exe
复制代码
2、查看是否设置了密码
  1. 127.0.0.1:6379> auth 123456
  2. (error) ERR Client sent AUTH, but no password is set
复制代码
3、报错,说明没有设置密码,然后再执行配置命令
  1. redis 127.0.0.1:6379> AUTH 123456
  2. Ok
复制代码
返回OK,就说明已经配置成功了。
PS:这种配置方式存在一个很严重的问题,就是当我们将Redis服务器关掉之后,这些配置就会失效,下次再启动服务器,必要重新设置!

二、修改配置文件

 另有一种方式就是一劳永逸的方式,就是直接修改配置文件里的参数。在redis.windows.conf(我的是这个配置文件)或者redis.conf(我看网上有说是这个配置文件的)的配置文件中找到requirepass这个参数,设置参数密码,然后保存配置文件,重启Redis。
  1. # requirepass foobared
  2. requirepass 123456 //123456是设置的密码
复制代码
原来这种方式非常简单,但是在实际过程中,却遇见了一些问题,那就是配置不生效,明明配置文件里都已经配置了密码,但是还会报错,后来在Redis启动时发现,Redis报错了:
  1. Warning: no config file specified, using the default config.
  2. In order to specify a config file use C:\Program Files (x86)\Redis-x64-3.2.100\redis-server.exe
  3. /path/to/redis.conf
复制代码
后来查阅之后才知道,原来Redis启动时必要指定配置文件,否则还会使用默认配置,而我在Windows里启动.exe应用程序时,还是习惯性的双击应用程序启动,导致Redis一直使用的是默认配置。
这样我们就必要在命令行窗口通过命令行的方式来启动并指定配置文件:
  1. C:\Program Files (x86)\Redis-x64-3.2.100>redis-server.exe redis.windows.conf
复制代码
 这样,我们的Redis服务器的密码就正式配置完成了。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

忿忿的泥巴坨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表