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 ...
随机推荐
- Centos7快速安装docker
偶然间发现,docker的安装好容易啊 系统环境:centos7.3 yum源: docker:https://mirrors.aliyun.com/docker-ce/linux/centos/do ...
- MySQL Hardware--Linux 文件句柄限制
Linux会限制文件句柄数量,默认为1024,当超过该阈值后,会报"to many open files" ## 使用ulimit -a查看当前打开文件句柄限制 ulimit -a ...
- 转载一篇阿里云Terraform 开发指南
连接:https://www.jianshu.com/p/0aebea117cae 是一个比较详细的开发指南
- haproxy反向代理
haproxy是个高性能的tcp和http的反向代理.它就是个代理.不像nginx还做web服务器 官网地址为www.haproxy.org nginx的优点和缺点 优点: 1.web服务器,应用比较 ...
- Shell脚本出现$'\r': command not found
Centos7下执行shell脚本报错如下 [root@ip---- ~]# sh install_zabbix_agent.sh install_zabbix_agent.: $'\r': comm ...
- 2019年3月更新 技术分享 WPF基本界面制作
1.制作流程1.在vs中建立一个wpf程序2.建立一个主页面(.cs)(注:C#程序每一个页面都由两个文件构成一个xaml一个cs,一个前端文件一个后台文件)3.在主页面中添加按钮,按钮中嵌入图片,这 ...
- 由consequence忽然发现英语也挺有意思
con- 是拉丁语前缀, 有 with, together 的意思. con- 和 com- 一样的. 只是因为 在 b p m 前发 m 音更方便, 所以这些音前的 con- 变为 com- (例 ...
- Android Studio Gradle依赖冲突
版本冲突 Gradle提供了两种解决版本冲突的策略:Newest和Fail.默认策略是Newest,配置Fail模式: configurations.all { resolutionStrategy. ...
- nginx1.14.0版本server、location、rewrite配置
server配置demo 在192.168.10.140(centos7)上修改: /home/program/nginx/conf/nginx.conf 添加一个server server { li ...
- 使用命令行执行jmeter的方法
1. 简介 使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资 本文介绍windows下以命令行模式运行的方法. 1.1. 命令介绍 jmeter -n -t & ...