关于win本地远程连接不到redis问题

来源:互联网 发布:淘宝网充气娃娃图片 编辑:程序博客网 时间:2024/06/07 02:22

首先,到redis.io官网找win版本的redis下载,官方没有的,微软在GitHub托管的那个~,点击redis-server.exe安装服务端,如图就成功了,不要关掉窗口,一般不会出错

这里写代码片
然后安装redis客户端,打开本地终端,输入命令

redis-cli.exe -h 127.0.0.1 -p 6379

如果连接不上,重启电脑或者换个终端用Xshell试试再或者用管理员身份打开命令行终端,最后成功就能连上本地即成功,然后试试远程连接。

如下图,发现报了错,把远程服务器的redis.conf文件里protected mode修改为no,就好了,其他在安装的时候,还需要注释掉bind127.0.0.1,这样所有都能远程连接这个redis不安全,可以设置一个密码,这里暂时没有设置,密码设置如下叙述。然后我们就可以ping通了,如下图。

这里写图片描述

redis配置密码
1.通过配置文件进行配置
yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到

#requirepass foobared 

去掉行前的注释,并修改密码为所需的密码,保存文件

requirepass myRedis  

重启redis

sudo service redis restart  

或者

sudo service redis stop  sudo redis-server /etc/redis.conf

这个时候尝试登录redis,发现可以登上,但是执行具体命令是提示操作不允许

redis-cli -h 127.0.0.1 -p 6379  redis 127.0.0.1:6379>  redis 127.0.0.1:6379> keys *  (error) ERR operation not permitted  redis 127.0.0.1:6379> select 1  (error) ERR operation not permitted  redis 127.0.0.1:6379[1]>   

尝试用密码登录并执行具体的命令看到可以成功执行

redis-cli -h 127.0.0.1 -p 6379 -a myRedis  redis 127.0.0.1:6379> keys *  1) "myset"  2) "mysortset"  redis 127.0.0.1:6379> select 1  OK  redis 127.0.0.1:6379[1]> config get requirepass  1) "requirepass"  2) "myRedis" 

2.通过命令行进行配置

redis 127.0.0.1:6379[1]> config set requirepass my_redis  OK  redis 127.0.0.1:6379[1]> config get requirepass  1) "requirepass"  2) "my_redis" 

无需重启redis
使用第一步中配置文件中配置的老密码登录redis,会发现原来的密码已不可用,操作被拒绝

redis-cli -h 127.0.0.1 -p 6379 -a myRedis  redis 127.0.0.1:6379> config get requirepass  (error) ERR operation not permitted  

使用修改后的密码登录redis,可以执行相应操作

redis-cli -h 127.0.0.1 -p 6379 -a my_redis  redis 127.0.0.1:6379> config get requirepass  1) "requirepass"  2) "my_redis  

尝试重启一下redis,用新配置的密码登录redis执行操作,发现新的密码失效,redis重新使用了配置文件中的密码

sudo service redis restart  Stopping redis-server:                                     [  OK  ]  Starting redis-server:                                     [  OK  ]  redis-cli -h 127.0.0.1 -p 6379 -a my_redis  redis 127.0.0.1:6379> config get requirepass  (error) ERR operation not permitted  redis-cli -h 127.0.0.1 -p 6379 -a myRedis  redis 127.0.0.1:6379> config get requirepass  1) "requirepass"  2) "myRedis"  

除了在登录时通过 -a 参数制定密码外,还可以登录时不指定密码,而在执行操作前进行认证。

redis-cli -h 127.0.0.1 -p 6379  redis 127.0.0.1:6379> config get requirepass  (error) ERR operation not permitted  redis 127.0.0.1:6379> auth myRedis  OK  redis 127.0.0.1:6379> config get requirepass  1) "requirepass"  2) "myRedis"  

3.master配置了密码,slave如何配置
若master配置了密码则slave也要配置相应的密码参数否则无法进行正常复制的。
slave中配置文件内找到如下行,移除注释,修改密码即可

masterauth  mstpassword  
原创粉丝点击