aof恢复与rdb服务器间迁移——redis

Posted reyinever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了aof恢复与rdb服务器间迁移——redis相关的知识,希望对你有一定的参考价值。

1. aof恢复与rdb服务器间迁移:

1.1. Aof恢复:

如果不小心执行了flushdbflushall了怎么办?

1)立马执行命令:shutdown nosave

关闭服务器,为了防止其他人正在操作服务器触发重写aof,如果aof重写了,彻底没救了

2)修改aof文件,删除最后一行的命令:flushdb (或flushall

3)再次启动服务器,查看数据恢复

操作流程如下:

127.0.0.1:6379> set hello word

OK

127.0.0.1:6379> flushdb    #flushdbflushall危险命令

OK

127.0.0.1:6379> get hello

(nil)

127.0.0.1:6379> shutdown nosave   #关闭服务端

[[email protected] rdb]# vi appendonly6379.aof    #修改aof文件

删除最后一行的:flushdb

127.0.0.1:6379> get hello    #查看恢复的数据

"word"

 

1.2. Rdb迁移:(导入rdb文件)

注:一台服务器的rdb文件导入到另一台服务器

1)关闭redis服务:

[[email protected] redis]# pkill -9 redis

2)拷贝rdb文件

[[email protected] redis]# cp redis.conf redis6383.conf   #拷贝配置文件

3)修改redis6383的配置文件,修改内容如下:

#appendonly yes    #关闭aof

#port 6379

port 6383

save 900 1    #打开rdb

save 300 10

save 60 10000

#dir ./

dir /var/rdb        #

#dbfilename dump.rdb

dbfilename dump6383.rdb

4)启动redis服务端、客户端

#启动redis服务

[[email protected] redis]# ./bin/redis-server ./redis6383.conf

#启动客户端

[[email protected] redis]# ./bin/redis-cli -p 6383

127.0.0.1:6383> keys *   #没有数据

(empty list or set)

5)关闭redis服务

6)产生最新的rdb文件

启动redis-6379的服务后,客户端执行命令:bgsave  

7)拷贝rdb文件:

[[email protected] rdb]# cp dump6379.rdb dump6383.rdb  

8)启动redis服务端、客户端,查看数据:

[[email protected] redis]# ./bin/redis-server ./redis6383.conf

[[email protected] redis]# ./bin/redis-cli -p 6383

127.0.0.1:6383> keys *

1) "a"

2) "xx"

 

以上是关于aof恢复与rdb服务器间迁移——redis的主要内容,如果未能解决你的问题,请参考以下文章

redis的rdb与aof持久化机制

Redis持久化方式RDB与AOF详解

redis备份恢复

微信棋牌网站出售Redis持久化存储(AOF与RDB两种模式)

Redis企业级数据备份与恢复方案

redis的持久化方案RDB和AOF