实战:Redis数据的导出和导入(dump和load方式)
阅读数: 次
上次做了下redis
数据迁移,中间踩了些坑,后来用了下面的方法完成的。以此备忘。迁移redis数据一般有如下3种方式:
- 第三方工具
redis-dump/redis-load
aof
机制,需要开启aof功能
rdb
存储机制
这里介绍第一种方式,通过redis-dump
导出数据,再通过redis-load
导入。开始吧。
安装gcc
安装gcc以继续以下操作
1
| yum -y install gcc automake autoconf libtool make ruby rubygems ruby-devel
|
配置Ruby官网源地址
因为默认的Ruby官网源地址在国外,访问速度很慢,所以需要配置成国内的源地址
1 2 3 4
| gem sources -a http://gems.ruby-china.com/ 添加国内源地址 gem source -l 查看是否添加成功 gem source --remove https://rubygems.org/ 去掉国外源地址 gem source -l 确认现在的源地址只有国内
|
安装rvm命令
配置Google DNS
1
| echo "nameserver 8.8.8.8" >> /etc/resolv.conf
|
导入key
1
| gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
|
或
1 2
| curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
|
安装rvm
1 2
| curl -L get.rvm.io | bash -s stable echo "export rvm_max_time_flag=20" >> ~/.rvmrc
|
安装Ruby
1 2 3
| find / -iname rvm -type f echo "export PATH=$PATH:/usr/local/rvm/bin" >> /etc/profile && source /etc/profile rvm install 2.3.3
|
确认Ruby
版本
因为redis-dump
必须要求ruby的版本不低于2.2.2
1 2 3
| ruby -v rvm use 2.3.3 --default rvm remove $version
|
安装redis-dump
1
| gem install redis-dump -V
|
确认redis-dump
安装成功
1 2 3 4 5 6 7
| find / -iname redis-dump ```
用`redis-dump`导出的数据格式都是json格式 ```bash redis-dump -u :yourpassword@127.0.0.1:6379 > /tmp/redis-mv.json
|
将导出的数据文件移动到导入的redis服务器上去
redis-load
导入数据
1
| cat redis-mv.json | redis-load -u :yourpassword@127.0.0.1:6379
|
到此数据就迁移完了。别忘了去导入的redis查看验证下。