Skip to content

Instantly share code, notes, and snippets.

@nanoninja
Last active September 7, 2018 14:22
Show Gist options
  • Save nanoninja/f0730c792085089b7ce783c938d02087 to your computer and use it in GitHub Desktop.
Save nanoninja/f0730c792085089b7ce783c938d02087 to your computer and use it in GitHub Desktop.
MongoDB Service Installation

MongoDB Installation

Official Documentation

Downloading binary

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.0.tgz

Extracting files

tar -zxvf mongodb-linux-x86_64-3.4.0.tgz

Creating files

sudo mv mongodb-linux-x86_64-3.4.0.tgz /usr/local/mongodb3.4.0
sudo ln -s /usr/local/mongodb3.4.0 /usr/local/mongodb

sudo mkdir /var/{lib,log}/mongodb
sudo mkdir /etc/mongodb

Creating group

sudo useradd -r --home-dir /usr/local/mongodb mongodb

Changing owner

sudo chown -R mongodb:mongodb /usr/local/mongodb3.4.0 /usr/local/mongodb /var/lib/mongodb /var/log/mongodb

Adding configuration

Copy mongod.conf to /etc/mongodb/mongod.conf and mongod.service to /etc/systemd/system/mongod.service

sudo vim /etc/mongodb/mongod.conf
sudo vim /etc/systemd/system/mongod.service

Running service

sudo service mongod start
sudo service mongod status

Output:

● mongod.service - MongoDB service
   Loaded: loaded (/etc/systemd/system/mongod.service; disabled; vendor preset: enabled)
   Active: active (running) since ven. 2016-11-11 20:37:26 CET; 8min ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 2777 (mongod)
   CGroup: /system.slice/mongod.service
           └─2777 /usr/local/mongodb/bin/mongod --quiet --config /etc/mongodb/mongod.conf

nov. 11 20:37:26 sandbox systemd[1]: Started MongoDB service.

Using MongoDB

Add Mongo binary in your global path

vim ~/.bashrc
export PATH=/usr/local/mongodb/bin:$PATH

Reloading bash :

source ~/.bashrc
mongo

Output:

MongoDB shell version: 3.4.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.0
Server has startup warnings:
2016-11-11T20:37:26.269+0100 I CONTROL  [initandlisten] 
2016-11-11T20:37:26.269+0100 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-11-11T20:37:26.269+0100 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-11-11T20:37:26.269+0100 I CONTROL  [initandlisten] 
2016-11-11T20:37:26.269+0100 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-11-11T20:37:26.269+0100 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-11-11T20:37:26.269+0100 I CONTROL  [initandlisten] 
> 
# Basic configuration
net:
port: 27017
storage:
dbPath: "/var/lib/mongodb"
directoryPerDB: false
processManagement:
fork: false
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true
[Unit]
Description=MongoDB service
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/local/mongodb/bin/mongod --quiet --config /etc/mongodb/mongod.conf
[Install]
WantedBy=multi-user.target
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment