redis远程连接不上解决办法
问题描述:
redis远程服务端运行在192.168.3.90计算机上,客户端计算机(ip:192.168.3.110)通过redsi-cli.exe客户端工具连接时,没有反应,连接不上。
如图所示:
解决步骤:
步骤一:注释掉redis.window.conf文件中的bind属性设置。
如图所示:
步骤二:把protected-mode属性设置no
重启redis即可远程连接。
如图所示:
确定启动成功,查看所有keys
清空所有keys
注意事项:
不能直接双击redis安装目录下bin目录下的redis-server.exe启动redis服务端,否则会导致无法通过远程客户端进行操作。
如果所示,通过双击redis-server.exe命令启动redis后,然后执行keys查看所有键时报错,
报错如下异常:
(error) DENIED Redis is running in protected mode because protected mode is enabled,
no bind address was specified, no authentication password is requested to clients.
In this mode connections are only accepted from the loopback interface.
If you want to connect from external computers to Redis you may adopt one of the following solutions:
1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis
from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so.
Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file,
and setting the protected mode option to 'no', and then restarting the server.
3) If you started the server manually just for testing, restart it with the '--protected-mode no' option.
4) Setup a bind address or an authentication password.
NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.
原因分析:从启动成功界面分析,这种方式的启动读取的配置文件可能不是redis.windows.conf文件,故之前设置的内容没有生效。
所以启动redis时,通过进入redis安装目录下的bin目录,然后执行
redis-server redis.windows.conf
命令启动名。
另外redis-cli客户端连接redis服务端命令如下
redis-cli -h 192.168.3.90 -p 6379
-h 选择指定服务端ip
-p 选择指定端口。