redis数据转移随笔
生产环境有一批版本比较老的redis主从架构,是一主多从,版本是2.8
由于想迁移到阿里云上,那么问题来了,怎么把redis数据转移到阿里云上
为了省事,阿里云也是和生产环境一样的版本,架构也一致,其实剩下的就好办了,把数据导出,再导入就行了
我们生产环境使用了aof和rdb两种持久化,好处是不怕意外的数据丢失
那么问题来了,怎么导入到阿里云
导出简单,首先在生产环境的redis的主节点执行bgsave,执行后将fork出新的子进程,不会阻塞redis,等完成后,把rdb文件拷贝出来,放到阿里云
先停止阿里云的主节点的redis, 把rdb文件放到阿里云主节点的数据文件夹下面,然后启动redis,然后,没数据,一看rdb文件没了,被重新创建了
这是怎么回事,想了好久才明白,由于同时开启aof和rdb持久化,优先使用aof恢复数据,由于没有aof,所以先创建aof然后再创建RDB那么数据肯定是没了,那这怎么办法呢?
既然这样,就先关闭aof,在配置文件里 appendonly yes 注释掉
然后关闭redis,再解压缩rdb文件,再启动redis,看下info有数据了,不错,然后关闭redis,打开aof持久化,启动redis,一看数据又没了,这可咋办
想了想应该还是aof优先的缘故,由于没有aof就创建aof然后清空RDB了,又回到了上面的问题
那么既然这样的话,就动态打开aof
先注释掉配置文件里的aof
解压缩RDB,启动redis,好了数据有了
然后我们动态打开aof
config set appendonly yes
然后去数据文件夹下看,已经开始产生aof文件了,等文件生成完毕,我们可以shutdown redis
然后打开配置文件中的appendonly yes 这次,rdb和aof都正常了,其实最后的rdb是重新生成的,从aof生成的
注释掉aof - 导入rdb-动态打开aof-生成aof-关闭redis-打开配置文件注释aof-redis从aof从新生成rdb
至此,数据迁移完成,主从数据也正常了
参考了以下解决方案

redis数据转移随笔的更多相关文章
- redis 数据持久化
1.快照(snapshots) 缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb.你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据 ...
- Redis学习笔记(5)——Redis数据持久化
出处http://www.cnblogs.com/xiaoxi/p/7065328.html 一.概述 Redis的强大性能很大程度上都是因为所有数据都是存储在内存中的,然而当Redis重启后,所有存 ...
- Redis数据存储解决方案
http://www.tuicool.com/articles/77nUZn 1.背景 1.1 Redis简介 官方网站: http://redis.io/ ,Redis是REmote DIction ...
- java 24 - 4 GUI之创建数据转移窗口
需求: 把文本框中的数据,通过点击按钮,转移到文本域中. 同时清空文本框中的数据 代码:(步骤都注释了) public class FrameDemo4 { public static void m ...
- 云服务器 ECS Linux 系统盘数据转移方法
转自:https://help.aliyun.com/knowledge_detail/41400.html 问题描述 购买云服务器 ECS Linux 服务器时,未购买数据盘,使用一段时间后,随着业 ...
- Redis数据导入工具优化过程总结
Redis数据导入工具优化过程总结 背景 使用C++开发了一个Redis数据导入工具 从oracle中将所有表数据导入到redis中: 不是单纯的数据导入,每条oracle中的原有记录,需要经过业务逻 ...
- 5.1.1 读取Redis 数据
Redis 服务器是Logstash 推荐的Broker选择,Broker 角色就意味会同时存在输入和输出两个插件. 5.1.1 读取Redis 数据 LogStash::Input::Redis 支 ...
- sql server 2008 把远程的数据库的数据转移到本地数据数据库里
如题:把远程的数据库对应表里的数据转移到本地数据数据库的对应表里 比如把192.168.188.160的DB的A表的数据转移到本地的DB的A表里 第一步:连接远程服务器前准备 exec sp_addl ...
- Redis数据备份和重启恢复
一.对Redis持久化的探讨与理解 目前Redis持久化的方式有两种: RDB 和 AOF 首先,我们应该明确持久化的数据有什么用,答案是用于重启后的数据恢复. Redis是一个内存数据库,无论是RD ...
随机推荐
- Eamon 埃蒙
发售年份 1980 平台 AppleII 开发商 Donald Brown 类型 文字冒险 https://www.youtube.com/watch?v=uvZIxnIvRG8
- http options 请求
- C# 广告
新建一个XML页面,设置属性 选择架构,勾选下面的目标,确定即可添加广告 广告模板: <?xml version="1.0" encoding="utf-8&quo ...
- 详解java定时任务---Timer篇
一.简介 在java的jdk中提供了Timer.TimerTask两个类来做定时任务. Timer是一种定时器工具,用来在一个后台线程计划执行指定任务,而TimerTask一个抽象类,它的子 ...
- 基于springboot+bootstrap+mysql+redis搭建一套完整的权限架构【六】【引入bootstrap前端框架】
https://blog.csdn.net/linzhefeng89/article/details/78752658 基于springboot+bootstrap+mysql+redis搭建一套完整 ...
- CentOS 6 update curl
touch /etc/yum.repos.d/city-fan.repo vi /etc/yum.repos.d/city-fan.repo add the following: [CityFan] ...
- Laya for H5 之Bug追踪
Laya For H5之Bug追踪 H5游戏一旦上线后,如何跟踪用户的崩溃日志呢?现在有很多第三方的工具,比如fundebug,其sdk接入简单,只需寥寥几行代码就可以追踪h5游戏的崩溃日志,bug日 ...
- python的列表综合list-comprehension示例,及两列表取补集
两个目的: 1. 了解了python的list comprehesion的用法 2. 了解了两个列表取交集和补集的方法 R语言取交集和补集更简单,直接有函数. perl 稍麻烦一些, 关键是用hash ...
- 通用mapper版+SpringBoot+MyBatis框架+mysql数据库的整合
转:https://blog.csdn.net/qq_35153200/article/details/79538440 开发环境: 开发工具:Intellij IDEA 2017.2.3 JDK : ...
- django Table doesn't exist
1146 django Table '' doesn't exist 一:出错原因 手动在数据库中drop了一张表,重新执行python manage.py migrate时出错,提示不存在这 ...