redis服务器默认没有设置密码,不需要密码即可连接到redis服务器。不过为了安全起见,一般生产环境都要设置密码。
设置密码有两种方式,此处以windows环境为例。
1. 命令行设置密码。
运行cmd,切换到redis根目录,先启动服务端。注意,此处需要指定配置文件redis.windows.conf,否则后续修改密码无法永久存储。
>redis-server.exe redis.windows.conf
另开一个cmd窗口,切换到redis根目录,启动客户端。此处是连接本地redis服务器,默认端口6379。
>redis-cli.exe -h 127.0.0.1 -p 6379
客户端使用config get requirepass命令查看密码。
>config get requirepass
1)"requirepass"
2)"" //默认空
客户端使用config set requirepass yourpassword命令设置密码。
>config set requirepass 123456
>OK
一旦设置密码,必须先验证通过密码,否则所有操作不可用。
>config get requirepass
(error)NOAUTH Authentication required
使用auth password验证密码
>auth 123456
>OK
>config get requirepass
1)"requirepass"
2)"123456"
注意:此时命令行设置的密码在服务重启后会失效,需要将密码重写到文件才能永久生效。
>config rewrite
2. 配置文件设置密码
在redis根目录下,打开redis.windows.conf配置文件,查找requirepass,添加密码。
注意,行前不能有空格。
# requirepass foobared
requirepass "abcd"
重启服务:
>redis-server.exe redis.windows.conf
客户端重新获取密码如下:
>config get requirepass
(error) NOAUTH Authentication required.
> auth abcd
OK
>config get requirepass
1)"requirepass"
2)"abcd"
PS:为方便启动,可以创建redis-server.exe的快捷方式, 右键快捷方式属性,在目标后面增加redis.windows.conf,记得中间要加个空格隔开。或者也可以做成系统服务系统,可以打开cmd窗口,进入redis根目录下,输入如下命令即可:
redis-server.exe --service-install redis.windows.conf --loglevel verbose