装redis的机器出了点问题,需要转移数据然后初始化系统,然后我就研究了下redis的数据复制,发现了slaveof 192.168.0.1 6379这个命令,开始踩下这个坑
首先要新的服务器上进入redis-cli,执行从库配置 slaveof 192.168.0.1 6379 ,此为主机的IP的地址,
然后执行info命令查看
注意,如果master link status 一直是down,并且 master_last_io_seconds_ago 为-1时,说明同步失败,这时我们查看下日志,到底出了什么问题
打开日志后我们发现几条重要信息
主机没有权限,这是因为主机有密码验证,所以你想怎么可能不要密码就让你同步呢,所以这时我们写上主机密码
很多文章都没有说明这点!! 大家注意
这个配置好后一重启就行了,再次执行slaveof 192.168.0.1 6379,然后执行info查看
发现这几个指标都变了,status为up表示同步完成!,再执行keys *发现数据都过来了,同步成功!
同步完成后,可以使用slaveof no one命令断掉主从关系,此时用info replication命令查看发现新redis的角色又变成了主机,当redis为从时默认是没法写操作的.
在此操作的2个redis版本,主机为为 3.2.10,从机为4.0.11.版本的不同并不会影响.