💭
mongoDBバージョンアップ 調査内容のメモ
mongoDBバージョンアップ 調査内容のメモ
はじめに
monogDBのバージョンアップ(2系から最新(5.0.6))をしようとして出たエラーやその対応をまとめています。
各バージョンごとにやったことをまとめてます。
やったことのメモ書きなのでこれだけ見ても解決しません。
これからやること
-
db.adminCommand({authSchemaUpgrade: 1 });
が使えるバージョンまで落とす。 - そうしないとユーザー認証が読めない。
- 2.x系はサポート終了してるので、以下を参考に頑張って2.6入れる。
- 2.6が入れれば、3.0→3.2→3.4→3.6→4.0と上げてく。(結局ここに戻る、、、)
- 2.6だけやり方が特殊なので、手間取る可能性がある。
- 3.0以上はダウンロード手順は同じなので、公式サイト見ながらささっとできる想定。
- 3.4→3.6のときも
db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
が必要らしい。
これまでやったこと
v5.0.6へのアップデート
手順
Install MongoDB Community Edition on Ubuntu — MongoDB Manual
状況
-
sudo systemctl start mongod
では起動しない。 -
sudo mongod --dbpath=/var/lib/mongodb
では起動できた。
問題点
- 既存の設定やデータを読み込めてない。
試したこと
-
mongos --configdb <configDB string> --upgrade
を実行
1.結果:Error parsing command line: unrecognised option '--upgrade'
-
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
を実行- 結果:
{ "featureCompatibilityVersion" : { "version" : "5.0" }, "ok" : 1 }
- 結果:
v3.4.18へのアップデート
手順
package management - Install (and use) mongodb 3.4.17 on ubuntu 18.04 - Ask Ubuntu
状況
-
sudo systemctl start mongod
では起動しない。 -
sudo mongod --dbpath=/var/lib/mongodb
でも起動しない。
問題点
- 起動時に以下のエラーが発生している。
Old 2.4 style user index identified. The authentication schema needs to be updated by running authSchemaUpgrade on a 2.6 server.
試したこと
-
mongos --configdb <configDB string> --upgrade
を実行
1.結果:Error parsing command line: unrecognised option '--upgrade'
-
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
を実行- そもそもmongoが起動できてないので、実施できてない。
v3.0.15へのアップデート
手順
Install MongoDB on Ubuntu — MongoDB Manual
状況
-
sudo systemctl start mongod
では起動しない。 -
sudo mongod --dbpath=/var/lib/mongodb
でも起動しない。
問題点
- 起動時に以下のエラーが発生している。
AuthSchemaIncompatible: Old 2.4 style user index identified. The authentication schema needs to be updated by running authSchemaUpgrade on a 2.6 server
試したこと
-
mongos --configdb <configDB string> --upgrade
を実行
1.結果:Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused
-
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
を実行- そもそもmongoが起動できてないので、実施できてない。
Discussion