redis的aof恢复与rdb服务器间迁移

来源:互联网 发布:主机端口号怎么查 编辑:程序博客网 时间:2024/05/17 22:23

一、aof恢复

当我们不小心执行flushall【清楚所有库中所有的数据】,我们必须马上做的就是执行一天命令:

shutdown nosave【关闭服务器,并且不保存】

然后打开aof文件,找到是否有flushall或者flushdb命令,vim打开aof,去掉相关的flush的命令
然后重启服务器,redis会先找到aof文件导入,再执行rdb文件导入

注意:redis运行过程中,会占用相关句柄,cp复制会出问题,所以,要复制rdb,需要关闭shutdown掉redis服务器才能实现cp过程不会出问题


二、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了


0 0
原创粉丝点击