docker redis 的rdb数据迁移方案

1. 使用docker 命令

save 

或者 bgsave 【推荐使用 异步】

rdb文件被存储在docker 中的 /data/dump.rdb 这里。

先复制docker中的rdb文件到当前目录下

docker cp xxx:/data/dump.rdb ./

2. 复制文件到目标机器

scp ./dump.rdb root@xxxx:/root/redis/dump.rdb

3. 在目标机器中,路径/root/redis下下载redis.conf 文件

wget http://download.redis.io/redis-stable/redis.conf

修改配置redis.conf  按照自己的需求:

比如:新增密码

requirepass xxxx123123

4. docker 通过镜像启动Redis,第一次启动

ps:这里推荐redis.conf 与dump.rdb 在一个文件中,原因是,在dump启动路径不同的情况下,dump.rdb 映射,每次启动都会去重新将dump.rdb 文件重新加载,这里的重启是指 docker restart 会重新加载dump.rdb 文件。

docker run -d --name my-redis -p 6379:6379 -v /root/redis:/data redis

至此整体数据迁移完成。

ps: 后面因为你有了这个dump.rdb 文件,之后所有的数据都会自动同步到这个dump.rdb 文件。

说实话,我不太知道之前docker中的dump.rdb 文件为啥没有,可能是我的数据量太少,save之后才有的这个文件。

我猜测,最开始是aof来存储数据,系统第一次启动发现存在rdb 文件,他认为已经能够触发同步数据到dump.rdb 文件,之后的操作都会在save 触发条件达成之后 比如sava 900 1 ....等,自动同步数据到此rdb种。再次之后测试,使用容器重启redis,则数据会先同步到dump.rdb 中,再自动重启redis服务。

若是关闭redis 再删除此dump.rdb 文件,启动redis容器,则所有数据丢失。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值