踩坑之路——Redis迁移遇到的一路坑
来源:互联网 发布:java项目源代码网站 编辑:程序博客网 时间:2024/06/07 03:40
坑点
redis-Docker 里面没有redis.conf ?
redis 从 rdb 无缝切换到 aof 备份方式
redis 迁移命令
1. Redis-Docker
里面没有 redis.conf
需求是,公司要上云,把之前的机房的redis迁移到云redis。阿里的数据库redis版只支持aof方式,而公司之前的redis用的是rdb,所以首先需要把 rdb
转换成 aof
,所以需要改 redis.conf
的 appendonly
的选项,但是在docker中查找,没有发现conf 文件,一番检查发现,使用的官方 redis docker 的 dockefile
中是这样写的。
RUN mkdir /data && chown redis:redis /dataVOLUME /dataWORKDIR /dataCOPY docker-entrypoint.sh /usr/local/bin/ENTRYPOINT ["docker-entrypoint.sh"]EXPOSE 6379CMD ["redis-server"]
怀疑是当时run的时候参数不对,或者是后来被删除了,正确的run 方法
docker run -d -it \-p 6379:6379 \-v /path to redis.conf:/etc/redis/redis.conf \-v /expose path data:/data \--restart always \--name some_redis \redis-server /etc/redis/redis.conf
这样就带了conf 进去,同时使用conf 来启动 ,这里要注意,conf 文件中的 daemonize yes
要改为no ,这个参数代表着 redis-server
会 运行在后台,docker 会自动退出 。conf文件可以从其他地方copy一份过来.
这里有很多解决方案,如果你想重新跑一个新的容器,你需要先将 rdb.dump 文件 copy 到容器外面。如果你不想重新跑一个新的容器, 你也可以直接在之前的reids容器里面创建配置文件。
2. redis 从 rdb 无缝切换到 aof 备份方式
既然 redis.conf
文件的问题解决了,就可以开始考虑开启aof 生成 appendonly.aof
文件,然后提交给远端redis服务器就好了,思路很简单,这里就不描述我没有找到正确方法之前的一堆狗屎操作了,直接贴上正确的步骤,很简单:
//在docker 内执行 redis-cli 切换到客户端,设置aof 开启,这时候已经有了aof文件了config set appendonly yesconfig set save ""
这样,就有了aof 文件了,这也说明了,这样开启aof 不是增量的,而是所有的数据。
这里做操作之前记得先备份 rdb.dump 文件,以免误操作了,还能恢复数据。如果你的rdb文件是在docker 内的 那么你可以这样来备份。
docker cp <containerId>:/docker-inner/rdb.dump /dokcer-outer/rdb.dump.back
3. redis 迁移命令
接下来两步是针对迁移到 阿里云的云数据库redis,如果只是普通迁移,直接拷贝持久化文件即可。
redis-cli -h <-填写云redis的host地址-> -a <-云redis密码-> --pipe < appendonly.aof
由于云数据库 Redis 版仅支持从阿里云内网访问,所以此操作方案仅在阿里云 ECS 上执行才生效。 若您的 Redis 不在阿里云 ECS 服务器上,您需要将原有的 AOF 文件复制到 ECS 上再执行以上操作。所以这里还需要把aof 从之前的服务器放到 关联的ecs上来执行上面的迁移命令,真是全是坑!
吐槽一下没有运维的坏处,就是作为一只后端狗,搞起来真的很烦啊!!而且日渐感觉到运维的重要性就是,服务了很多下游,其中真的有很多门道,膜拜一下运维大大。还有要吐槽的就是 docker
里面的初识环境一定要记得带上一些基础套件,不然 vim 、ping
什么都没有! ~ 全部需要手动安装,等到用的时候真的想死的心都有了~
最终!redis 上云迁移完成!!~
- 踩坑之路——Redis迁移遇到的一路坑
- linux上安装redis数据库,并实现 java连接redis一路遇到的错误
- cocos2dx一路走来之<vs2013使用中遇到的问题>
- 一路走来,遇到的问题
- 一路走来遇到的难点
- redis 遇到的“坑”——set集合 Sdiffstore 命令
- FPGA学习之路——一路走来
- FPGA学习之路——一路走来
- FPGA学习之路——一路走来
- FPGA学习之路——一路走来
- 一路走来 Android NDK 踩过的坑
- Eclipse迁移到Studio遇到的那些坑
- Eclipse项目迁移到Android Studio所遇到的坑
- 使用Ibatis一路中遇到的问题
- 一路走来遇到的问题(一)
- 研路——一路追寻,一路期盼
- 搬瓦工安装redis遇到的坑
- Nodejs连接redis遇到的坑
- java获取随机数字
- 华尔街之王亲自揭秘,全球最大对冲基金成功的方法论
- SAP中物料消耗的概念
- 读马克思、打太极,这个神秘亿万富豪的客户是FBI
- VS低版本打开高版本解决方案(如08打开10、12、13版本vs编译的项目)
- 踩坑之路——Redis迁移遇到的一路坑
- TCC和两阶段分布式事务处理的区别
- Python 数据结构
- 测试用例实例--常见功能测试点
- JDK 日期&时间<Date Time> API
- HTTP Request的Header信息
- 关于Quartz的一些概念介绍
- 3D数学 学习笔记(10) 背面剔除(Clipping)、裁切(Backface Culling)、光栅化(Rasterzation)
- 通过宏实现EXCEL单元格每打印一次内容变化一次