美文网首页redis学习
aof数据的恢复和rdb数据在不同服务器之间的迁移

aof数据的恢复和rdb数据在不同服务器之间的迁移

作者: 程序员小饭 | 来源:发表于2019-07-22 17:28 被阅读0次

Aof的恢复

如果在实际生产环境中一不小心执行了flushall,最好的办法就是立即shutdown nosave,如果没权限办法执行这个命令的话,那早点辞职跑路吧。

之所以这么做的原因是 aof有重写机制

auto-aof-rewrite-percentage 100   #aof文件大小比起上次重写时的大小,增长率100%时,重写

auto-aof-rewrite-min-size 64mb    #aof文件,至少超过64M时,重写

万一输入了flushall之后触发了重写机制,那么所有数据都会丢失,而正式环境redis数据是一直在写入的,数据量是一直在变大的,随时都有触发重写条件的可能,所以得立即关机,如果正好在你执行flushall的下一秒 触发了aof重写机制,那么数据就永远无法恢复了。

总结一下,具体在执行flushall之后的恢复步骤

  1. shutdown nosave

  2. 打开对应的aof文件 appendonly.aof ,找到flushall对应的命令记录

*1
20839 $8
20840 flushall

然后删除,保存

  1. 重新打开redis即可

Rdb的迁移

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

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

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

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

  2. 杀掉当前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了

相关文章

  • aof数据的恢复和rdb数据在不同服务器之间的迁移

    Aof的恢复 如果在实际生产环境中一不小心执行了flushall,最好的办法就是立即shutdown nosave...

  • Redis持久化

    Redis持久化分为RDB持久化和AOF持久化 RDB RDB文件用于保存和恢复Redis服务器所有数据库的全部键...

  • redis入门(三)数据备份和恢复

    redis持久化 1RDB 持久化 RDB和AOF RDB通过保存数据库当中的键值对来记录数据库的不同AOF通过记...

  • Redis第11章 AOF持久化

    前言:AOF和RDB不同,AOF会记录Redis执行的修改语句,并且不停的持久化到AOF文件中,恢复数据时回放一遍...

  • 黑猴子的家:Redis 持久化 之 AOF 和 RDB 同时开启

    听AOF的,RDB与AOF同时开启 默认无脑加载AOF的配置文件相同数据集,AOF文件要远大于RDB文件,恢复速...

  • Redis持久化

    本文环境基于Ubuntu1604 目录 开始 RDB AOF RDB-AOF 数据恢复 修改 开始 同样是 非关系...

  • Redis备份

    Redis备份使用AOF还是RDB,如果Redis恢复后数据如何备份 如果可以接收少量的数据缺失,可以使用RDB,...

  • 03给女朋友讲讲Redis-持久化机制

    为了防止数据丢失以及服务重启时能够恢复数据,Redis提供了两种主要的持久化机制,RDB和AOF。 一、RDB R...

  • docker-compose搭建redis-sentinel

    主从复制的问题 ​ 对于上篇文章redis持久化rdb及aof中,redis服务器重启时的数据恢复,在新版本中...

  • aof和rdb对比

    1、rdb更适合冷备份 2、rdb因为是持久化的数据,在宕机恢复加载更快,aof存储的命令日志文件 3、rdb对r...

网友评论

    本文标题:aof数据的恢复和rdb数据在不同服务器之间的迁移

    本文链接:https://www.haomeiwen.com/subject/monwlctx.html