hyp*_*erd 6 mongodb mongodump mongoimport
我在由Rancher编排的容器化环境中运行 MongoDB 副本集。推出最新更新后,MongoDB从3.6.x升级到4.0.x(最新)。
没有遵循升级路径,因此,当尝试绑定包含数据库存储的卷时,服务无法启动,退出并出现以下异常:
STORAGE [initandlisten] exception in initAndListen: MustDowngrade: Collection does not have UUID in KVCatalog. Collection: admin.system.version, terminating
Run Code Online (Sandbox Code Playgroud)
即使尝试mongod使用该--repair选项启动,我也得到了相同的结果。我也尝试将容器回滚到MongoDB 3.6.16,但日志版本现在不兼容。
我们没有卷的快照,因此无法恢复数据(这不是生产环境)。我在网上找到的唯一解决方案不适用,因为它建议利用mongodump和mongorestore,需要一个带有数据存储的正在运行的数据库。
我的想法不多了,有关如何解决此问题的任何建议?
小智 3
关于此问题的错误报告建议遵循完整的升级路径,这对我有用。当我遇到这个错误时,我能够返回到旧版本,然后正确升级。
具体来说:一次仅升级一个主要版本,并仔细检查先决条件和升级步骤。其中最重要的部分是db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )在升级到下一个版本之前检查您的兼容性并确保它与当前版本匹配。使用如下命令更新它db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )
阅读完整文档,例如https://docs.mongodb.com/manual/release-notes/3.6/#upgrade-procedures https://docs.mongodb.com/manual/release-notes/4.0/#upgrade-手续等
| 归档时间: |
|
| 查看次数: |
4148 次 |
| 最近记录: |