Friday, 7 October 2016

MongoDB : regular version upgrade

The local MongoDB instance was installed using brew.

Initial Installation

  1. Install Xcode command-line toolsxcode-select --install
  2. install home-brew

Upgrade locally installed mongodb

1. Upgrade brew by running
"brew update"
2. Upgrade mongodb by running
"brew upgrade mongodb"
==> Upgrading 1 outdated package, with result:
mongodb 3.2.10
==> Upgrading mongodb
==> Installing dependencies for mongodb: openssl
==> Installing mongodb dependency: openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2j.el_capitan.b
######################################################################## 100.0%
==> Pouring openssl-1.0.2j.el_capitan.bottle.tar.gz
==> Using the sandbox
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

This formula is keg-only, which means it was not symlinked into /usr/local.

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include

==> Summary
🍺  /usr/local/Cellar/openssl/1.0.2j: 1,695 files, 12M
==> Installing mongodb
==> Downloading https://homebrew.bintray.com/bottles/mongodb-3.2.10.el_capitan.b
######################################################################## 100.0%
==> Pouring mongodb-3.2.10.el_capitan.bottle.tar.gz
==> Caveats
To have launchd start mongodb now and restart at login:
  brew services start mongodb
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf
==> Summary
🍺  /usr/local/Cellar/mongodb/3.2.10: 18 files, 245.2M

Upgrade local mongodb from 3.4.18 to 3.6

This is to document the process of upgrading from currently installed 3.4.18 to 3.6.11.  Using brew upgrade doesn't work for me and I used brew install mongodb@3.6.  However, the drawback is I only managed to install 3.6.8 (not sure why 3.6.11 is not available).  Refer to this link for more information.  Upgrade to specific version of MongoDB

1. Prepare the data by running this using mongo shell.
db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
2. Upgrade brew by running will result in installing the latest which is 4.0 as of May 2019
"brew upgrade mongodb"
3. Install a specific version by using
"brew install mongodb@3.6"
4. Update the link using
"brew unlink mongodb@3.4"
"brew link --force mongodb@3.6"
5. Open a new shell and check the default MongoDB version
mongod --version
db version v3.6.8
git version: <snipped>
OpenSSL version: OpenSSL 1.0.2r  26 Feb 2019
allocator: system
modules: none
build environment:
    distarch: x86_64
    target_arch: x86_64
5. If you see this error when you start up mongod.  Then you need to set.  Read error-while-upgrading-mongodb-from-3-2-to-3-6
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.
 6. If you need to switch back to mongodb version 3.4.  Use the brew link and unlink.  After that, you can switch back to 3.6 by unlink and link again.
"brew unlink mongodb@3.6"
"brew link --force mongodb@3.4"

Upgrade mLab mongodb version

General steps for upgrade:
  1. Check the mLab upgrade guide.
  2. Test the application in staging environment
Once all test is completed, upgrade the mLab using Tool -> version.

No comments:

Post a Comment