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 ...
随机推荐
- Codeforces 1137C Museums Tour (强连通分量, DP)
题意和思路看这篇博客就行了:https://www.cnblogs.com/cjyyb/p/10507937.html 有个问题需要注意:对于每个scc,只需要考虑进入这个scc的时间即可,其实和从哪 ...
- CentOS7:ifconfig command not found解决和netstat -an
没有 ifconfig 和netstat -an 的话安装 net-tools package yum install net-tools
- SimpleDateFormat-多线程问题
SimpleDateFormat-多线程问题: SimpleDateFormat类在多线程环境下中处理日期,极易出现日期转换错误的情况 import java.text.ParseException; ...
- MSScriptControl详解(可实现在C#等语言中调用JAVASCRIPT代码)
ScriptControl接口 属性名称 类型 备注 AllowUI BOOL 检测是否允许运行用户的接口元素.如果为False,则诸如消息框之类的界面元素不可见. CodeObject Object ...
- SDUT 3362 数据结构实验之图论六:村村通公路
数据结构实验之图论六:村村通公路 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 当前农村公 ...
- JDBC方式从数据库中查询数据并显示
1.创建数据库表myuser DROP TABLE IF EXISTS `myuser`; CREATE TABLE `myuser` ( `) NOT NULL COMMENT '姓名', `id` ...
- 把Spark SQL的metadata存储到mysql
1:安装配置mysql yum install mysql mysql-server service mysqld start mysqladmin -u root password newpass ...
- 《Head First Servlets & JSP》-3-1st servlet MVC demo
项目结构 用户首页 form.html <html> <body> <h1 align='center'>Beer Selection Page</h1> ...
- C/C++单向链表
由于时间仓促,作者并没有进行任何的检查,总之徒手165行,调试无BUG,基本功能的实现并无大问题,可能有些细节考虑不周(这也是C/C++的诟病,小车不倒只管前推),还忘见谅. 代码是在C++环境编写, ...
- 【C#】 创建和调用webapi
二,,通过普通的路由调用,,路径写到http://localhost:29920/api/Players 即 Api/controller 为止