Windows下Redis主从配置出现Writing to master:Unknow error

Posted Drajun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows下Redis主从配置出现Writing to master:Unknow error相关的知识,希望对你有一定的参考价值。

异常:Sending command to master in replication handshake: -Writing to master: Unknown error;

 

解决结论:

  从数据库的slaveof所写的ip地址要和 主数据库的bind第一个参数相同;

 

解决过程:

一、当我在一台操作系统为win10的64位电脑上进行redis主从配置时,出现以上错误,死活连接不上,当时配置如下;

  1、(master)配置redis.windows.conf

    (1)bind 127.0.0.1 172.16.XX.XX(本台电脑ip)

    (2)port 6379

  2、(slave1)配置redis.windows6380.conf

    (1)bind 127.0.0.1 172.16.XX.XX(本台电脑ip)

    (2)port 6380

    (3)slaveof 172.16.XX.XX(本台电脑ip) 6379

  3、(slave2)配置redis.windows6381.conf

    (1)bind 127.0.0.1 172.16.XX.XX(本台电脑ip)

    (2)port 6381

    (3)slaveof 172.16.XX.XX(本台电脑ip) 6379

  4、然后先后启动

    redis.server.exe redis.windows.conf

    redis.server.exe redis.windows6380.conf

    redis.server.exe redis.windows6381.conf

  5、报以上异常

    其中有一句错误是:Connecting to MASTER 172.16.xx.xx:6379

 

二、找出错误原因

  1、根据错误信息可以看出,从数据库配置是没问题的,它就是连接了咱写好的主数据库的ip和端口

  2、那问题就出在主数据库;

    (1)ip地址是对的;

    (2)我尝试过关闭所有的防火墙,依然连不上;

  3、后来我想了是不是bind的原因

    我把两个从数据库的slaveof 从172.16.xx.xx 6379 改成了 127.0.0.1 6379后,就连上了!

    我认为,从数据库的slaveof要和主数据库的bind第一个参数相同!

  4、证实想法

    (1)我把主数据库的bind改成172.16.xx.xx

    (2)两个从数据库的slaveof 改成 172.16.xx.xx 6379

    (3)连接成功;

 

三、用两台windows系统的电脑进行redis主从配置

  0、关了防火墙

  1、主数据库

    (1)bind 0.0.0.0

  2、从数据库

    (2)slaveof 主数据库的ip 端口

  3、连接成功

 

以上是关于Windows下Redis主从配置出现Writing to master:Unknow error的主要内容,如果未能解决你的问题,请参考以下文章

Redis windows环境下的主从复制

Windows环境下部署Redis主从加Sentinel模式

Windows配置redis哨兵

Redis搭建主从同步读写分离实战

redis主从配置

Redis 主从配置(Windows版)