参考:https://www.cnblogs.com/hygs/p/6826202.html
一:AOF方式
需求: 一个没有数据的redis。
清空redis数据方法
bash> echo “keys ” | redis-cli –raw -p 6378 |sed -r ‘s/(.)/redis-cli –raw -p 6378 del \1 /g’ |bash
1.备份
bash> redis-cli –raw -p 6378
redis> config get dir #查看aof文件保存路径
redis> config set appendonly yes #允许调用fsync将AOF日志同步到硬盘
redis> SLAVEOF 192.168.10.52 6378 #需要备份的服务器的ip端口
bash > cat $dir/appendonly.aof #查看备份的aof日志
redis> SLAVEOF NO ONE #取消主从同步
redis> config set appendonly no #取消调用fsync
2.还原
bash> redis-cli –raw -p 6378
redis> config set appendonly yes #允许调用fsync将AOF日志同步到硬盘
redis> redis-cli –raw -p 6378 –pipe < appendonly.aof #将文件进行导入
redis> config set appendonly no #取消调用fsync
redis> keys * #查看备份的数据
二:RDB方式
1.在要备份的redis上执行sync命令后停掉服务
2.停掉备份服务器的redis
2将dump.rdb替换备份服务器的dump.rdb
3.重启服务。
三:redis_dump方式(第三方工具)
yum install ruby rubygems ruby-devel gcc -y
gem sources -a http://gems.ruby-china.org
gem sources –remove http://rubygems.org/
gem sources -l
gem install redis-dump -V
备份
redis-dump -u 192.168.10.100:6379 > test.json
还原 test.json redis-load -u 127.0.0.1:6379
#导出,密码前面要加一个冒号
redis-dump -u :[email protected]:6379 > redis.json
#导入,-n 代表以二进制导入
cat redis.json | redis-load -u :password@localhost -n
补充说明:
一:安装redis-dump
1、yum install ruby rubygems ruby-devel gcc //安装rubygems 以及相关包
2、 gem sources -a https://ruby.taobao.org/ //加入淘宝镜像源
3、 gem install redis-dump -V
二:redis-dump 导出数据
redis-dump –u 127.0.0.1:6379 > test.json (导出redis 默认数据库的数据,默认数据库为0)
如果指定15数据库的数据:
redis-dump –u 127.0.0.1:6379 –d 15 >test.json
三:redis-load 还原数据
将test.json 文件上传到新的redis服务器上,进入到test.json目录,执行命令
< test.json redis-load;
或者
cat test.json | redis-load
如果导出时指定了数据库
cat test.json | redis-load –d 15
安装redis-dump 报错: redis requires Ruby version >= 2.2.2
解决办法是 先安装rvm,再把ruby版本提升至2.3.3
1、安装curl
yum install curl
2、安装RVM
curl -L get.rvm.io | bash -s stable
如果出现:
gpg: 无法检查签名:No public key,根据提示运行:
o install GPG v2 and then fetch the public key:
#运行这条
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
or if it fails:
#或者运行这条
command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
3、使其生效
source /usr/local/rvm/scripts/rvm
4、 查看rvm库中已知的ruby版本
rvm list known
5.、安装一个ruby版本
rvm install 2.3.3
6、 使用一个ruby版本
rvm use 2.3.3
7、 卸载一个已知版本
rvm remove 2.0.0
8、查看现在版本
ruby –version