使用MongoDB好几年,服务器版本自最后一次升级一直停留在3.4版本。MongoDB版本已经出了3.6和4.0两个版本。这次服务器版本升级到Ubuntu 18.04,顺便就把MongDB也升级一下。
MongoDB从3.4到3.6到4.0的升级,是一个逐步完成的过程,需要每个版本的服务器程序运行做调整。下面给出的是一个逐步升级的方案,已经对应的阿里云源,方便国内使用
#命令行通过mongo进入数据库
$ mongo
# 检查数据库版本
> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
# { "featureCompatibilityVersion" : { "version" : "3.6" }, "ok" : 1 }
通过下面指令修改兼容版本
> db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )
# { "ok" : 1 }
当修改完之后,就可以将之前的版本通过下面的命令卸载,再重新安装最新的版本,这个过程需要遵循3.4->3.6->4.0版本的升级顺序。
# 卸载当前版本
sudo apt-get purge mongodb-org*
之后再根据当前版本选择对应的升级版本,这里已经替换成阿里云的源,供国内使用。
# MongoDB 3.4
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb [ arch=amd64,arm64 ] http://mirrors.aliyun.com/mongodb/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org=3.4.21 mongodb-org-server=3.4.21 mongodb-org-shell=3.4.21 mongodb-org-mongos=3.4.21 mongodb-org-tools=3.4.21
# MongoDB 3.6
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo "deb [ arch=amd64,arm64 ] https://mirrors.aliyun.com/mongodb/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
sudo apt-get update
sudo apt-get install -y mongodb-org=3.6.13 mongodb-org-server=3.6.13 mongodb-org-shell=3.6.13 mongodb-org-mongos=3.6.13 mongodb-org-tools=3.6.13
# MongoDB 4.0
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb [ arch=amd64 ] http://mirrors.aliyun.com/mongodb/apt/ubuntu bionic/mongodb-enterprise/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-enterprise.list
sudo apt-get update
sudo apt-get install -y mongodb-enterprise=4.0.10 mongodb-enterprise-server=4.0.10 mongodb-enterprise-shell=4.0.10 mongodb-enterprise-mongos=4.0.10 mongodb-enterprise-tools=4.0.10