容器化后的mongoDB迁移

在这篇文章中简单介绍对容器化的单体mongoDB从2.6升级到3.4,并将存储引擎从MMAPv1转换成WiredTiger。

此处创建用于测试的mongoDB容器,容器化的mongoDB的文件挂载到本地的/mongodb.

docker run -d --name=mongo01 -p 27017:27017 -v /mongodb:/data/db mongo:2.6

为了升级mongoDB,并改变存储引擎,我们需要做:

  • mongodump导出数据
  • 备份mongoDB数据
  • 创建mongoDB3.4容器,该版本默认使用数据存储引擎WiredTiger
  • mongorestore数据到新版本的容器
    (NOTE: 只有在想要改变存储引擎时需要导入和导出数据,如果不需要改变存储引擎,只需要挂载数据路径即可)

(1)数据导出
创建临时的容器来保存导出的数据

docker run -i --rm --link mongo01 -v /tmp/mongoexport:/tmp mongo:2.6 bash -c 'mongodump -v --host mongo01:27017 --out /tmp'

(2)升级mongo
删除老版本的mongo容器,创建新版本的mongo容器

docker stop mongo01
docker rm mongo01
sudo mv /mongodb /mongodb-2-6-backup
docker run -d --name=mongo01 -p 27017:27017 -v /mongodb:/data/db mongo:3.4

(3)导入数据到新版本的mongo容器

docke run -it --rm --link mongo01 -v /tmp/mongoexport:/tmp mongo:3.4 bash -c 'mongorestore -v --host mongo01:27017 /tmp'

当临时容器完成import以后,至此mongoDB3.4升级完毕。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,991评论 6 342
  • 本文为转载文章,觉得写得不错,虽然只是写到了3.0版本的存储引擎,后续我会补充3.4的现状 在历经版本号修改(2....
    倪宝华阅读 2,100评论 1 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,087评论 19 139
  • 一、 设计理念 1.空间换时间 1)多级缓存,静态化 客户端页面缓存(http header中包含Expires/...
    帅T阅读 3,629评论 1 15
  • 真正的感觉到了时间的不够用,从起床的那一刻起,手机便开始不离我的视线,真正用心做一件事起来,是任何原因都阻挡不了的...
    FAB艳儿阅读 205评论 0 0