OS:rhel 8.10
db version :v6.0.17 升级到 v7.0.14
备份
mongodump -u backup -p backup123 -h 192.168.1.180:27017 --authenticationDatabase admin \
--gzip -o /mongodb/backup/fullbak
先决条件
特征兼容性版本
6.0 实例必须将featureCompatibilityVersion设置为"6.0" 。
要检查featureCompatibilityVersion :
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
该操作返回具有当前特征兼容性版本的文档:
{ featureCompatibilityVersion : { version : “6.0” }, ok: 1}
要将featureCompatibilityVersion设置或更新为6.0 ,请运行以下命令:
db.adminCommand( { setFeatureCompatibilityVersion: "6.0" } )
关闭mongod 实例。
要关闭 mongod 进程,请使用 mongosh 连接到实例并运行以下命令:
db.adminCommand( { shutdown: 1 } )
重新创建连接
rm -rf mongodb --删除之前的软连接
ln -s mongodb-linux-x86_64-enterprise-rhel80-7.0.14 mongodb
将 6.0 二进制文件替换为 7.0 二进制文件。
确保7.0系列二进制文件位于您的系统路径中。要确认二进制版本,请运行以下命令:
mongod --version
命令输出显示7.0系列版本。

启动报错,根据日志删除配置
mongod --config /mongodb/data/mongo.conf

删除配置
journal:
enabled: true
启用向后不兼容的 7.0 功能。
此时,您可以运行 7.0 二进制文件,而不会启用与 6.0 不兼容的 7.0 功能。
要启用这些 7.0 功能,请将功能兼容性版本 (fCV) 设置为 7.0。
提示
启用这些向后不兼容的功能可能会使降级过程变得复杂,因为在降级之前,您必须删除任何持续存在的向后不兼容的功能。
升级后,建议让部署在不启用这些功能的情况下稳定运行一段时间,以确保降级回老版本的可能性极小。当确信降级的可能性非常小时,请启用这些功能。
针对 admin 数据库运行 setFeatureCompatibilityVersion 命令:
db.adminCommand( { setFeatureCompatibilityVersion: "7.0" } )
此命令执行的必须是对内部系统集合的写入。如果由于任何原因该命令未能成功完成,您都可以安全地重试该命令,因为该操作是幂等的。

执行命令报错,根据日志添加 confirm: true
mongosh
use admin
db.adminCommand(
{
setFeatureCompatibilityVersion: "7.0",
confirm: true
}
)

升级完成
参考官方文档:https://www.mongodb.com/zh-cn/docs/manual/release-notes/7.0-upgrade-standalone/#std-label-7.0-upgrade-standalone




