好久没打开MongoDB Compass浏览数据库了,这次登陆后提示MongoDB 6生命周期已经结束了,遂决定升级至8。自部署的MongoDB是一个三节点的ReplicaSet,需要同时升级三个机器。
步骤1:先用MongoDump备份数据。
步骤2:ssh到每个机器上docker compose down掉每个节点的mongodb容器。
步骤3:先修改docker-compose.yaml中的mongodb版本从6到7。
步骤4:启动每个机器上的mongodb,docker compose up -d。
步骤5:启动成功后,在主节点上执行rs.status()查看各个节点的状态,没有问题后执行db.adminCommand({setFeatureCompatibilityVersion: '7.0'})设置MongoDB的FCV(Feature Compatibility Version)到7,这时候会告知你开弓没有回头箭,需要二次确认。
步骤6:执行db.adminCommand({getParameter: 1, featureCompatibilityVersion: 1})检查FCV是不是设置到7了。
步骤7:down掉每个节点,设置docker镜像为8.0,启动,设置FCV到8.0,检查是否正常。
升级成功!数据无价,谨慎操作。