迁移redis数据库中的数据到另一台服务器

方案一 

下面我使用的redis是用docker安装的,不是通过下载安装包安装的,所以和我安装方式不一样的小伙伴可以不看,因为很多操作是基于docker的

话不多说,直接开搞!

1.首先一定要确保两台服务器上面的redis版本要一致,不然会失败。查看redis版本

docker exec -it <自己redis容器的实例ID> redis-server --version

 

 

2.找到redis的dump.rdb文件,如果不知道路径可以使用一下命令

redis-cli -a bshark1227Sun config get dir

上面的命令如果你的redis.conf配置文件中设置了密码,那么就要填-a <你的redis密码>,没有设置就直接redis-cli config get dir。执行结果如下

 

 

 3.去到你自己的redis容器里面将dump.rdb文件拷贝到宿主机里面

a)在宿主机里面创建一个目录来接收拷贝的文件

在根路径下面创建一个redis目录
mkdir /redis

b)拷贝文件到根路径下面的redis目录里面

docker cp <你自己的redis容器实例ID>:/home/gaize/redis/dump.rdb /redis

c) 查看是否有该文件

 

 

4.一定要停掉目标服务器上面的redis

一定要停掉redis服务,因为dump.rdb文件时刻都在更新,你即使将拷贝的dump.db放进去以后也会被跟新掉。当然如果你连redis服务都没有那么你就不用操心了。

 

5.将该dump.rdb文件发送到另一台服务器中,这一步就不用我介绍了吧,直接用微信发送,然后将这个文件放在另一台服务器的redis的data目录中。因为我使用了容器卷,所以我将它放在宿主机下面的相关目录中

 

我这边是做了一个映射的,可以看一下的我容器创建命令:

docker run -p 6379:6379 --name redis --privileged=true 
-v /tmp/app/redis/redis.conf:/etc/redis/redis.conf 
-v /tmp/app/redis/data:/data 
-d redis:7.0.8 redis-server /etc/redis/redis.conf

 

6.重新启动redis服务 

docker restart <你自己redis容器实例ID>

7.进入redis容器实例里面检查数据

docker exec -it <你自己redis容器实例ID> /bin/bash
redis-cli

 

后续可能会跟新其他方案 !!!

 

 

 

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