いつのもように pacman
でアップグレードしたら、MongoDB が上がってこない。ログを確認するとアップグレードしろとのこと。
2018-01-07T10:53:02.579+0900 F CONTROL [initandlisten] ** IMPORTANT: UPGRADE PROBLEM: The data files need to be fully upgraded to version 3.4 before attempting an upgrade to 3.6; see http://dochub.mongodb.org/core/3.6-upgrade-fcv for more details.
MongoDB のアップグレードがあったようだ。この前のアップグレード時も大変な思いをしたような気がする。
指示に従い、Upgrade a Standalone to 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
目出度し。でもまたやりそう。