当前位置:   article > 正文

Redis数据迁移_redis 数据迁移

redis 数据迁移

最近在工作中遇到一个需要对redis进行数据迁移的场景,经过学习和验证,找到两种有效的迁移方法,在此做一下记录。

1. 物理迁移

所谓的物理迁移,指的是在redis开启了持久化存储过后,我们可以通过复制dump.rdb文件的方式都redis进行数据迁移。具体实施方法如下:

● 在redis源端,找到正确的数据持久化存储文件dump.rdb

● 将dump.rdb复制到目标端的redis指定的持久化存储所在的路径

启动redis

如果redis是一主二从的,则先关闭从redis,然后关闭主redis,再把rdb文件传过去,然后重启主redis,最后重启从redis使数据同步。

2. 逻辑迁移

所谓的逻辑迁移,指的是通过第三方工具,例如本次使用的redis-dump和redis-load工具进行逻辑导入导出的方式进行数据迁移。

2.1. 安装redis-dump

redis-dump的安装较为复杂,centos系统可以参考以下安装方式进行安装:

安装redis-dump之前首先需要安装ruby:

yum install ruby rubygems ruby-devel -y

ruby安装完成后,尝试安装redis-dump:

gem install redis-dump

如果提示ruby版本过低,那么则需要更新ruby版本,可以通过以下方式进行更新:

● 安装rvm

curl -L get.rvm.io | bash -s stable

安装完成会提示ruby的安装方法,显示如下:

  1. [root@izuf63g0jydq42k49eo7zcz ~]# curl -L get.rvm.io | bash -s stable
  2. % Total % Received % Xferd Average Speed Time Time Time Current
  3. Dload Upload Total Spent Left Speed
  4. 100 194 100 194 0 0 197 0 --:--:-- --:--:-- --:--:-- 197
  5. 100 24173 100 24173 0 0 9655 0 0:00:02 0:00:02 --:--:-- 24014
  6. Downloading https://github.com/rvm/rvm/archive/1.29.7.tar.gz
  7. Downloading https://github.com/rvm/rvm/releases/download/1.29.7/1.29.7.tar.gz.asc
  8. gpg: directory `/root/.gnupg' created
  9. gpg: new configuration file `/root/.gnupg/gpg.conf' created
  10. gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
  11. gpg: keyring `/root/.gnupg/pubring.gpg' created
  12. gpg: Signature made Fri 04 Jan 2019 06:01:48 AM CST using RSA key ID 39499BDB
  13. gpg: Can't check signature: No public key
  14. GPG signature verification failed for '/usr/local/rvm/archives/rvm-1.29.7.tgz' - 'https://github.com/rvm/rvm/releases/download/1.29.7/1.29.7.tar.gz.asc'! Try to install GPG v2 and then fetch the public key:
  15. gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
  16. or if it fails:
  17. command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
  18. command curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
  19. In case of further problems with validation please refer to https://rvm.io/rvm/security

通过提示的第一个命令进行安装:

  1. $ gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
  2. $ curl -sSL https://get.rvm.io | bash -s stable
  3. $ source ~/.bashrc
  4. $ source ~/.bash_profile
  5. $ source /usr/local/rvm/scripts/rvm
  6. $ rvm list known #列出版本
  7. $ rvm install 3.0.0 #选择一个高版本的安装
  8. $ rvm use 3.0.0 #使用安装的版本
  9. $ ruby --version #查看版本

● 安装redis-dump:

gem install redis-dump

2.2. 导入与导出

导出和导入命令使用较为灵活,也比较简单,具体可以通过--help命令查看详细说明,以下举一个简单的到处和导入例子。

2.2.1. 导出

  1. # 导出全部数据
  2. redis-dump -u redis://192.168.10.101:6380 -a Nq2_6cJqhbU8 >> redis.json
  3. # 可以通过-d 指定数据库号的方式导出需要的数据库
  4. redis-dump -u redis://192.168.10.101:6380 -a Nq2_6cJqhbU8 -d 0>> redis_0.json

2.2.2. 导入

cat redis.json | redis-load -u redis://192.168.10.101:6379 -a Nq2_6cJqhbU8

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/752168
推荐阅读
相关标签
  

闽ICP备14008679号