redis数据库备份与恢复

1. redis-dump方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
yum install ruby rubygems ruby-devel -y

#移除国外的资源地址,添加国内的资源地址
gem source --add http://gems.ruby-china.com/ --remove https://rubygems.org/
#查看资源地址
gem sources -l

#安装rvm
curl -sSL https://get.rvm.io | bash
#添加秘钥
gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
#加载rvm
source /etc/profile.d/rvm.sh
rvm -v

#列出已知的ruby包,并安装对应的版本
rvm list known
rvm install 2.4

#安装redis-dump
gem install redis-dump -V

#备份
reids-dump -u <地址>:<端口> -a <密码> -d<db库> > <备份文件>.json
redis-dump -u 127.0.0.1:6379 -a passwd > redis_6379.json

#恢复
< <备份文件>.json redis-load -u <地址>:<端口> -a<密码>
< redis_6379.json redis-load -u 127.0.0.1:7379 -a passwd

2. aof方式

1
2
3
4
5
6
#备份:开启aof功能,将在redis文件目录下生成appendonly.aof文件
redis-cli -h 127.0.0.1 -p 6379 -a passwd config set appendonly yes
#恢复:将源库的aof文件,导入到新库
redis-cli -h 127.0.0.1 -p 7379 -a passwd --pipe < appendonly.aof
#关闭源库的aof功能
redis-cli -h 127.0.0.1 -p 6379 -a passwd config set appendonly on

3. rdb文件迁移方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#备份:
#查看redis的文件存放目录,如果没有将redis-cli安装成服务,则进入redis的src目录下进行连接
[root@localhost ~]# redis-cli
127.0.0.1:6379> config get dir
1) "dir"
2) "/var/lib/redis/6379"

127.0.0.1:6379>save #数据备份
127.0.0.1:6379>exit #退出

#恢复
#登陆目标服务器,先停止redis服务
systemctl stop redis
#然后到redis的文件存储目录,将刚刚备份的dump.rdb文件替换该目录的dump.rdb文件
#建议:先备份当前的dump.rdb,重启redis服务
systemctl start redis
-------------本文结束感谢您的阅读-------------
分享不易,请我喝杯咖啡吧~~~