:-)
Bunu same question on the official MongoDB mailing list numaralı telefondan sordum. Bir kerede birden fazla ana versiyonunu yükseltmemelerini söylediler. (Başlıca sürümleri: 2.2, 2.4, 2.6, 3.0, 3.2, 3.4)
Tüm sürümleri yüklemek için normal yükseltme işlemini izlemek istemiyorum Sadece mongod'u başlatmak ve sonra kapatmak. Bu, benim için arkamdan ayrılmayı tercih ediyor ve altyapı inşa etme senaryolarımı ve sürümleri kontrol etmeyi seviyorum. Bu yüzden, en son Ubuntu'yla yeni EC2 örnekleri başlatmaya karar verdim (benim Mongo v2.4 sunucularm da 2 LTS versiyonları olduğu için) ve en son MongoDB. Veri yükseltmelerini yapmak için MongoDB ara sürümlerinin docker görüntülerini kullandım.
https://gist.github.com/RichardBronosky/2d04c7c2e9a5bea67cd9760a35415a3f#file-uat_mongodb_upgrade_from_prod-sh
çözeltinin kütle şudur:
# mongo.conf is using the default dbPath: /var/lib/mongodb
# this path is for temporary use by the mongo docker container
mkdir -p /data/db/dump
# see: https://hub.docker.com/_/mongo/ (search for /data/db)
# see: https://github.com/docker-library/mongo/blob/30d09dbd6343d3cbd1bbea2d6afde49f5d9a9295/3.4/Dockerfile#L59
cd /data/db
mongodump -h prodmongo.int
# Get major versions from https://hub.docker.com/r/library/mongo/tags/
step=0
for major_version in 2.6.12 3.0.14 3.2.11 3.4.1; do
sudo docker stop some-mongo || true
sudo docker rm some-mongo || true
sudo docker run --name some-mongo -v /data/db:/data/db -d mongo:$major_version
false; while [[ $? > 0 ]]; do
sleep 0.5
sudo docker exec -it some-mongo mongo --eval 'printjson((new Mongo()).getDBNames())'
done
if (($step == 0)); then
sudo docker exec -it some-mongo mongorestore /data/db/dump
fi
((step += 1))
done
# Finish up with docker
sudo rm -rf /data/db/dump/*
sudo docker exec -it some-mongo bash -c 'cd /data/db; mongodump'
sudo docker stop some-mongo
sudo docker rm some-mongo
# Load upgraded data into latest version of MongoDB (WiredTiger storage engine will be used)
mongorestore /data/db/dump
sudo rm -rf /data
erkek Memnun. – SRINI794
Evet, bu soruyu resmi MongoDB posta listesinde sordum ve bir seferde birden fazla ana versiyonunu yükseltmemelerini söylediler. (Başlıca sürümleri: 2.2, 2.4, 2.6, 3.0, 3.2, 3.4) https://groups.google.com/d/msg/mongodb-user/cbXeM283iHM/y0QbW1h4BQAJ –