環境
バージョン
$ cat /etc/system-release
Amazon Linux AMI release 2016.09
手順
準備
バージョン確認
MongoDBのバージョンを確認する。
$ mongo --version
今回の場合、3.0であった。
これを最新のバージョンである3.4に上げたい場合、3.0→3.4と一気にアップグレードできないため、3.0→3.2、3.2→3.4と2段階に分けてアップグレードする必要がある。
以下参考。
3.4-upgrade-standalone
バックアップの取得
念のため、バックアップを取得する。
$ mongodump --out mongodump_20170406
MongoDBにアクセスするサービスの停止
念のため、該当のMongoDBにアクセスするサービスを停止する。
アップグレード(3.0to3.2)
mongodを停止する。
$ sudo service mongod stop
repoファイルを作成する。
$ sudo vi /etc/yum.repos.d/mongodb-org-3.2.repo
以下のように記述・保存する。
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1
baseurlはOSによって異なるため、Amazon Linux以外のOSの場合、以下を確認して対応するURLに書き換える必要がある。
旧Repoファイルのenabledを0に変更する。
$ sudo vi /etc/yum.repos.d/mongodb-org-3.0.repo
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=0
MongoDB3.2がアップデート可能なパッケージに含まれているかを確認する。
$ yum check-update
アップデートを実行する。
$ sudo yum update
アップデート完了後、mongodを起動する。
$ sudo service mongod start
バージョンを確認する。
$ mongo --version
MongoDB shell version: 3.2.12
MongoDBのアップグレード(3.2to3.4)
mongodを停止する。
$ sudo service mongod stop
repoファイルを作成する。
$ sudo vi /etc/yum.repos.d/mongodb-org-3.4.repo
以下のように記述・保存する。
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=0
enabled=1
旧Repoファイルのenabledを0に変更する。
$ sudo vi /etc/yum.repos.d/mongodb-org-3.2.repo
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=0
MongoDB3.4がアップデート可能なパッケージに含まれているかを確認する。
$ yum check-update
アップデートを実行する。
$ sudo yum update
アップデート完了後、mongodを起動する。
$ sudo service mongod start
バージョンを確認する。
$ mongo --version
MongoDB shell version v3.4.3
git version: f07437fb5a6cca07c10bafa78365456eb1d6d5e1
OpenSSL version: OpenSSL 1.0.0-fips 29 Mar 2010
allocator: tcmalloc
modules: none
build environment:
distmod: amazon
distarch: x86_64
target_arch: x86_64