redis下rdb在不同服务器之间的迁移 导入阿里云redis

来源:互联网 发布:国家网络质量管理 编辑:程序博客网 时间:2024/04/30 12:42

很多同学估计碰到了这样的情况,想把本地的redis的rdb文件迁移到服务器上,或者想再把一台服务器上的rdb文件迁移到多台服务器上面,下面是船长的操作方法:

(1)关闭要迁移到的服务器的redis的aof日志功能(我的要迁移到的是本机的redis6380.conf)

vim redis6380.conf,将appendonly yes修改为appendonly no

(2)我们先看一下当前redis的数据,并将数据用save命令固化到rdb文件中,我的rdb文件为/var/rdb/dump6379.rdb

3)杀掉当前redis的进程,否则下一步的复制rdb文件,rdb处于打开的状态,复制的文件,会占用同样的句柄

(4)复制当前redis的rdb文件,名字为你要迁移的redis的rdb文件名(我的要迁移的redis的文件名为 /var/rdb/dump6380.rdb),记住,一定要杀掉当前redis的进程,还有关闭要迁移的服务器的aof功能(如果不关闭aof,默认用aof文件来恢复数据)


(5)启动6380的redis,我们会发现,6380多出了name的数据,这个数据,就是6379固化到rdb的数据


以上就是在不同的redis之间进行rdb的数据迁移,思路就是,复制rdb文件,然后让要迁移的redis加载这个rdb文件就ok了


rdb文件如果导入成功后,开启aof功能会在数据库目录下生成一个appendonly.aof文件

操作步骤

对于在阿里云 ECS 上自建的 Redis 实例,执行如下操作:

  1. 开启现有 Redis 实例的 AOF 功能(如果实例已经启用 AOF 功能则忽略此步骤)。

    1. # redis-cli -h old_instance_ip -p old_instance_port config set appendonly yes
  2. 通过 AOF 文件将数据导入到新的云数据库 Redis 版实例 (假定生成的 AOF 文件名为 appendonly.aof)。

    1. # redis-cli -h aliyun_redis_instance_ip -p 6379 -a password --pipe < appendonly.aof

    注意:如果原有旧的 Redis 实例不需要一直开启 AOF,可在导入完成后通过以下命令关闭。

    1. # redis-cli -h old_instance_ip -p old_instance_port config set appendonly no

您还可以通过观看以下视频快速了解如何将 ECS 上自建 Redis 迁移至云数据库 Redis 版,视频时长约4分钟。


原创粉丝点击