# 清空上文目标实例全部数据
[root@202.102.221.11 ~]$ redis-cli -h 202.102.221.12 -a password flushall
OK
# 源实例开启aof功能,将在dir目录下生成appendonly.aof文件
[root@202.102.221.11 ~]$ redis-cli -h 202.102.221.11 -a password config set appendonly yes
OK
2.目标实例导入aof数据**
# 假设appendonly.aof就在当前路径下
[root@202.102.221.11 ~]$ redis-cli -h 202.102.221.12 -a password --pipe < appendonly.aof
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 5 # 源实例关闭aof功能
[root@202.102.221.11 ~]$ redis-cli -h 202.102.221.11 -a password config set appendonly no
OK
Intro
环境说明:
202.102.221.11 redis源实例
202.102.221.12 redis目标实例
202.102.221.13 任意linux系统
一、redis-dump方式
1.安装redis-dump工具
更改gem源
2.redis-dump导出
3.redis-load导入
二、aof导入方式
1.源实例生成aof数据
2.目标实例导入aof数据**
三、rdb文件迁移方式
关闭要迁移到的服务器的redis的aof日志功能(我的要迁移到的是本机的redis6380.conf)
vim redis6380.conf,将
appendonly yes
修改为appendonly no
我们先看一下当前redis的数据,并将数据用save命令固化到rdb文件中,我的rdb文件为/var/rdb/dump6379.rdb
杀掉当前redis的进程,否则下一步的复制rdb文件,rdb处于打开的状态,复制的文件,会占用同样的句柄
复制当前redis的rdb文件,名字为你要迁移的redis的rdb文件名(我的要迁移的redis的文件名为 /var/rdb/dump6380.rdb),记住,一定要杀掉当前redis的进程,还有关闭要迁移的服务器的aof功能(如果不关闭aof,默认用aof文件来恢复数据)
启动6380的redis,我们会发现,6380多出了name的数据,这个数据,就是6379固化到rdb的数据
以上就是在不同的redis之间进行rdb的数据迁移,思路就是,复制rdb文件,然后让要迁移的redis加载这个rdb文件就ok了
四、源实例db0迁移至目标实例db1
Reference