本文介绍通过主从同步转移redis数据到新redis数据库中。
关闭业务redis入口,保证数据最新
主从同步转移
-
首先在新服务器上直接进入
redis-cli
,执行从库配置slaveof 192.168.1.100 6379
,这里假设要将192.168.1.100
的6379
端口的redis
服务转移过来。这样就已经开始同步了。通过info
可以查看当前服务器是slave
。 -
然后通过
info
命令查看master_link_status
,如果为up
,表示同步完成。(在同步过程中,执行查询的时候还是会提示"Redis is loading the dataset in memory",这属于正常情况.把数据从磁盘文件加载到内存中可能会消耗很长的一段时间。) -
最后断开主从关系,在
redis-cli
命令行下执行slaveof no one
提示OK
,再通过info
查看,该新服务器已经自己变成master
了。 -
执行redis-cli shutdown 触发数据保存操作,防止数据丢失(执行shutdown指令是会先把数据保存到本地的。shutdown 默认采取 shutdown save模式,也可以手动指定 shutdown nosave不保存)
善后
确保旧的服务器的服务已经停止服务
注意排除监控系统对该redis
实例的请求。
如何判断 redis 已经同步完毕呢?
-
在命令行查看 info
master_link_status:up
,则表示同步完成了。