关于Redis连接报错详情解决:ERR Client sent AUTH, but no password is set

最近项目上需要用到Redis缓存数据库,在前端对数据进行操作,并存入到缓存数据库时,后台控制台报错,报错截图如下:

这是由于,Redis没有配置密码,但是客户端向其发送了AUTH(authentication,身份验证)请求携带着密码,导致报错。

所以我们就需要给Redis设置密码。实现方式有两种:

方式一:通过命令行方式设置密码(设置的密码在服务重启后失效)

步骤如下:

1、启动redis服务

2、cmd命令行切换至Redis的文件夹中redis-cli目录或者点击redis-cli右击以管理员身份运行,打开命令窗口,使用命令行操作
3、查看是否设置了密码:

127.0.0.1:6379> auth 123456
(error) ERR Client sent AUTH, but no password is set

4、需要命令设置密码,命令如下:

127.0.0.1:6379> config set requirepass 123456
OK

出现OK了,说明设置成功

5、再次登录,就可以登录成功

redis 127.0.0.1:6379> AUTH 123456
OK

方式二:修改配置文件(推荐)

在redis目录下redis.windows.conf文件找到requirepass,追加一行,输入requirepass root,即为登录密码,重启redis服务再登录即可。

# requirepass foobared
requirepass root  //root为设置的密码

设置redis启动时加载配置文件的命令如下:

redis-server.exe redis.windows.conf

设置密码以后,每次开启redis要输出 redis-server.exe redis.windows.conf ,感觉挺麻烦的,我们可以使用bat批处理来完成配置开启。
新建一个以.bat 为结尾的文件并输入以下内容,其中Redis_home=后是你的Redis安装目录

将该文件放到你redis安装目录下

set Redis_home=D:\software\Redis-x64-3.2.100
echo %Redis_home%
%Redis_home%\redis-server.exe %Redis_home%\redis.windows.conf

后面直接双击该批处理文件即可