redis数据迁移

参考: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-dumpu 127.0.0.1:6379 > test.json (导出redis 默认数据库的数据,默认数据库为0) 
如果指定15数据库的数据: 
redis-dumpu 127.0.0.1:6379d 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

你可能感兴趣的:(数据库)