redis备份恢复
redis的几种数据导入导出方式【转】
环境说明:
202.102.221.11 redis源实例
202.102.221.12 redis目标实例
202.102.221.13 任意linux系统
一、redis-dump方式
1.安装redis-dump工具

[root@202.102.221.13 ~]# yum install ruby rubygems ruby-devel -y
# 更改gem源
[root@202.102.221.13 ~]# gem sources -a http://ruby.taobao.org
Error fetching http://ruby.taobao.org:
bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)
访问http://ruby.taobao.org,公告通知镜像维护站点已迁往Ruby China镜像 #gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
[root@202.102.221.13 ~]# gem sources --add http://gems.ruby-china.org/ --remove http://rubygems.org/
http://gems.ruby-china.org/ added to sources
source http://rubygems.org/ not present in cache
[root@202.102.221.13 ~]# gem sources -l
*** CURRENT SOURCES *** http://gems.ruby-china.org/
[root@202.102.221.13 ~]# gem install redis-dump -V

2.redis-dump导出
[root@202.102.221.13 ~]# redis-dump -u :password@202.102.221.11:6379 > 202.102.221.11.json
3.redis-load导入
[root@202.102.221.13 ~]# cat 202.102.221.11.json | redis-load -u :password@202.102.221.12:6379
二、aof导入方式
1.源实例生成aof数据

# 清空上文目标实例全部数据
[root@202.102.221.11 ~]# redis-cli -h 202.102.221.12 -a password flushall
OK
# 源实例开启aof功能,将在dir目录下生成appendonly.aof文件
[root@202.102.221.11 ~]# redis-cli -h 202.102.221.11 -a password config set appendonly yes
OK

2.目标实例导入aof数据

# 假设appendonly.aof就在当前路径下
[root@202.102.221.11 ~]# redis-cli -h 202.102.221.12 -a password --pipe < appendonly.aof
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 5
# 源实例关闭aof功能
[root@202.102.221.11 ~]# redis-cli -h 202.102.221.11 -a password config set appendonly no
OK

三、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了
四、源实例db0迁移至目标实例db1

[root@202.102.221.11 ~]# cat redis_mv.sh
#!/bin/bash
redis-cli -h 202.102.221.11 -p 6379 -a password -n 0 keys "*" | while read key
do
redis-cli -h 202.102.221.11 -p 6379 -a password -n 0 --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h 202.102.221.12 -p 6379 -a password -n 1 -x restore $key 0
echo "migrate key $key"
done
redis备份恢复的更多相关文章
- 删库到跑路?还得看这篇Redis数据库持久化与企业容灾备份恢复实战指南
本章目录 0x00 数据持久化 1.RDB 方式 2.AOF 方式 如何抉择 RDB OR AOF? 0x01 备份容灾 一.备份 1.手动备份redis数据库 2.迁移Redis指定db-数据库 3 ...
- redis的备份恢复
说明:默认rdb方式保存,redis支持主从和哨兵等,但是在某些情况下我们会单机跑,所以有时候我们就会需要设计到备份恢复 环境:原始redis:192.168.1.200 新redis:192.168 ...
- Redis备份及回收策略
Redis备份(持久化) Redis备份存在两种方式: 1.一种是"RDB".是快照(snapshotting),它是备份当前瞬间Redis在内存中的数据记录; 2.另一种是&qu ...
- Redis备份
Redis SAVE命令用来创建备份当前Redis数据库. 语法 Redis SAVE命令的基本语法如下所示: 127.0.0.1:6379> SAVE 例子 下面给出的例子创建备份当前的数据库 ...
- 40+倍提升,详解 JuiceFS 元数据备份恢复性能优化之路
JuiceFS 支持多种元数据存储引擎,且各引擎内部的数据管理格式各有不同.为了便于管理,JuiceFS 自 0.15.2 版本提供了 dump 命令允许将所有元数据以统一格式写入到 JSON 文件进 ...
- MySQL 系列(四)主从复制、备份恢复方案生产环境实战
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- 基于MySQL MEB的备份恢复
MEB(MySQL Enterprise Backup)是MySQL商业版中提供的备份工具,属于物理备份. 同XtraBackup一样,mysqlbackup的使用过程同样包含如下三个步骤: 备份(- ...
- Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...
- 在Linux操作系统下备份恢复技术的应用 转自https://yq.aliyun.com/articles/50205?spm=5176.100239.blogcont24250.9.CfBYE9
摘要: 安全防护:在Linux操作系统下备份恢复技术的应用 原文参见:http://linux.chinaunix.net/techdoc/system/2005/12/19/925898.shtm ...
随机推荐
- linux 创建docker基础镜像
通过Dockerfile创建镜像时,一般都是基于 Docker Hub 提供的官方镜像.以下分别介绍在ubuntu16和centos7 两个系统上创建个人私有基础镜像的方法. 一.ubuntu16创 ...
- springboot启动过程(1)-初始化
1 springboot启动时,只需要调用一个类前面加了@SpringBootApplication的main函数,执行SpringApplication.run(DemoApplication. ...
- HTML5 学习指导
HTML 语义 HTML5为我们提供了很多旨在精确描述内容的语义元素.确保你可以从它丰富的词汇中获益. <!-- bad --> <div id="main"&g ...
- POJ 1151 扫描线 线段树
题意:给定平面直角坐标系中的N个矩形,求它们的面积并. 题解:建立一个四元组(x,y1,y2,k).(假设y1<y2)用来储存每一条线,将每一条线按x坐标排序.记录所有的y坐标以后排序离散化.离 ...
- cocos2d-js 浏览器与JSB内存管理机制的不同
写这边文章的主要目的是为了理解使用cocos3d-js开发app时,浏览器调试与真机情况不一致的原因 一.浏览器中内存管理机制 HTML5版本运行时,整个游戏只存在JS脚本与一些必要的资源文件,这时候 ...
- C++二进制文件读写
简单二进制文件读写,多文件 /*Demo9.1.cpp*/ #include <iostream> #include <fstream> #include <string ...
- 无需知道类名,就可以启动apk
查看官方文档,发现这样一个方法: public abstract Intent getLaunchIntentForPackage (String packageName) 这个方法名就说明:根据包名 ...
- C# DLL(程序集)的生成和调用
日期:2018年11月24日 环境:Window 10,VS2015 一.利用VS2015自带的工具生成DLL 步骤: 1.利用C#准备一个.cs文件: using System; public cl ...
- 无废话MVC入门教程笔记
自学mvc,看了园子里李林峰写的李林峰写的无废话MVC入门教程笔记,现在有的平时忽略的或是不太清楚的点记下来 1,Html.DropDownList //服务端写法 @{ //下拉列表的值 List& ...
- 【C# MVC】
http://www.cnblogs.com/powertoolsteam/p/MVC_three.html