将 MongoDB 从 3.4 升级至 3.6
无论何时使用 pacman 进行升级,MongoDB 都无法升级。检查日志发现提示需要进行升级。
2018-01-07T10:53:02.579+0900 F CONTROL [initandlisten] ** 重要提示: 升级问题:在进行3.6版本升级之前,数据文件需要完全升级到3.4版本;请参考http://dochub.mongodb.org/core/3.6-upgrade-fcv了解更多详情。
似乎MongoDB有更新。我记得上次升级时也感到非常困难。
按照指示,查看如何将一个独立版升级到3.6。要求事先执行以下命令。
db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
由于二进制已经升级完毕,因此需要从二进制的降级开始。在查看软件包降级时,首先要搜索 /var/cache/pacman/pkg。如果没有删除,就继续降级下一个软件包。
$ sudo pacman -U /var/cache/pacman/pkg/mongodb-tools-3.4.9-1-x86_64.pkg.tar.xz
$ sudo pacman -U /var/cache/pacman/pkg/wiredtiger-2.9.3-1-x86_64.pkg.tar.xz
$ sudo pacman -U /var/cache/pacman/pkg/boost-libs-1.65.1-2-x86_64.pkg.tar.xz
启动3.4版本后,使用mongo连接并执行上述命令。我参考了Arch Linux上的MongoDB文章。可能最好是使用systemctl正常启动,但是在命令行执行可以看到日志,感觉更好。但是,将所属权还原有点麻烦。
再次使用 pacman 进行升级。然后使用 systemctl 启动。
[sadayuki@betelgeuse pkg]$ systemctl status mongodb
● mongodb.service - High-performance, schema-free document-oriented database
Loaded: loaded (/usr/lib/systemd/system/mongodb.service; enabled; vendor pres
Active: active (running) since Sun 2018-01-07 11:16:51 JST; 3s ago
Main PID: 851 (mongod)
Tasks: 23 (limit: 4915)
CGroup: /system.slice/mongodb.service
└─851 /usr/bin/mongod --quiet --config /etc/mongodb.conf
看起来炫目,但似乎还会再来一次。