Установка MongoDB на Linux

Какое-то время назад я написал статью о том, как установить MongoDB на Mac OS X с помощью . Однако большинство разработки обычно происходит на машинах Unix/Linux. Поэтому сегодня мы рассмотрим, как установить MongoDB в системе Linux.

Установка MongoDB на Linux

Текущая версия MongoDB – 3.4.7, и я установлю 64-битную версию через командную строку. Шаги по установке MongoDB на Linux очень просты, просто следуйте указанным ниже командам терминала для загрузки и установки.

  1. Загрузите и извлеките бинарные файлы MongoDB
root@dev [/home/journal]# mkdir mongodb
root@dev [/home/journal]# cd mongodb/
root@dev [/home/journal/mongodb]# curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.7.tgz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 82.7M  100 82.7M    0     0  1704k      0  0:00:49  0:00:49 --:--:-- 1334k
root@dev [/home/journal/mongodb]# tar xvf mongodb-linux-x86_64-3.4.7.tgz
 mongodb-linux-x86_64-3.4.7/README
 mongodb-linux-x86_64-3.4.7/THIRD-PARTY-NOTICES
 mongodb-linux-x86_64-3.4.7/MPL-2
 mongodb-linux-x86_64-3.4.7/GNU-AGPL-3.0
 mongodb-linux-x86_64-3.4.7/bin/mongodump
 mongodb-linux-x86_64-3.4.7/bin/mongorestore
 mongodb-linux-x86_64-3.4.7/bin/mongoexport
 mongodb-linux-x86_64-3.4.7/bin/mongoimport
 mongodb-linux-x86_64-3.4.7/bin/mongostat
 mongodb-linux-x86_64-3.4.7/bin/mongotop
 mongodb-linux-x86_64-3.4.7/bin/bsondump
 mongodb-linux-x86_64-3.4.7/bin/mongofiles
 mongodb-linux-x86_64-3.4.7/bin/mongooplog
 mongodb-linux-x86_64-3.4.7/bin/mongoreplay
 mongodb-linux-x86_64-3.4.7/bin/mongoperf
 mongodb-linux-x86_64-3.4.7/bin/mongod
 mongodb-linux-x86_64-3.4.7/bin/mongos
 mongodb-linux-x86_64-3.4.7/bin/mongo
  1. Добавьте каталог bin MongoDB в переменную PATH
root@dev [/home/journal/mongodb]# mv mongodb-linux-x86_64-3.4.7 mongodb
root@dev [/home/journal/mongodb]# cd mongodb
root@dev [/home/journal/mongodb/mongodb]# echo $PATH
/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin
root@dev [/home/journal/mongodb/mongodb]# export PATH=$PATH:/home/journal/mongodb/mongodb/bin
  1. Создайте каталог для файлов MongoDB и запустите его
root@dev [/home/journal/mongodb/mongodb]# mkdir data
root@dev [/home/journal/mongodb/mongodb]# cd bin
root@dev [/home/journal/mongodb/mongodb/bin]# ./mongod --dbpath /home/journal/mongodb/mongodb/data &
[1] 30387
root@dev [/home/journal/mongodb/mongodb/bin]# 2014-08-04T13:56:05.916+0000 [initandlisten] MongoDB starting : pid=30387 port=27017 dbpath=/home/journal/mongodb/mongodb/data 64-bit host=dev.journaldev.com
2014-08-04T13:56:05.917+0000 [initandlisten] db version v3.4.7
2014-08-04T13:56:05.917+0000 [initandlisten] git version: 255f67a66f9603c59380b2a389e386910bbb52cb
2014-08-04T13:56:05.917+0000 [initandlisten] build info: Linux build12.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2014-08-04T13:56:05.917+0000 [initandlisten] allocator: tcmalloc
2014-08-04T13:56:05.917+0000 [initandlisten] options: { storage: { dbPath: "/home/journal/mongodb/mongodb/data" } }
2014-08-04T13:56:05.922+0000 [initandlisten] journal dir=/home/journal/mongodb/mongodb/data/journal
2014-08-04T13:56:05.922+0000 [initandlisten] recover : no journal files present, no recovery needed
2014-08-04T13:56:06.064+0000 [FileAllocator] allocating new datafile /home/journal/mongodb/mongodb/data/local.ns, filling with zeroes...
2014-08-04T13:56:06.064+0000 [FileAllocator] creating directory /home/journal/mongodb/mongodb/data/_tmp
2014-08-04T13:56:06.067+0000 [FileAllocator] done allocating datafile /home/journal/mongodb/mongodb/data/local.ns, size: 16MB,  took 0.001 secs
2014-08-04T13:56:06.069+0000 [FileAllocator] allocating new datafile /home/journal/mongodb/mongodb/data/local.0, filling with zeroes...
2014-08-04T13:56:06.070+0000 [FileAllocator] done allocating datafile /home/journal/mongodb/mongodb/data/local.0, size: 64MB,  took 0.001 secs
2014-08-04T13:56:06.071+0000 [initandlisten] build index on: local.startup_log properties: { v: 1, key: { _id: 1 }, name: "_id_", ns: "local.startup_log" }
2014-08-04T13:56:06.071+0000 [initandlisten] 	 added index to empty collection
2014-08-04T13:56:06.071+0000 [initandlisten] waiting for connections on port 27017
  1. Используйте команду “ps”, чтобы подтвердить, что MongoDB работает
root@dev [/home/journal/mongodb/mongodb/bin]#
root@dev [/home/journal/mongodb/mongodb/bin]# ps -eaf | grep mongo
root      7199 28009  0 14:09 pts/0    00:00:00 grep mongo
root     30387 28009  0 13:56 pts/0    00:00:02 ./mongod --dbpath /home/journal/mongodb/mongodb/data
root@dev [/home/journal/mongodb/mongodb/bin]#

Вот и все, наша MongoDB установлена на машине с Linux и работает хорошо. Однако, возможно, вам захочется экспортировать переменную PATH через ваш профиль пользователя, т.е. .bash_profile или .profile, чтобы она не исчезла после завершения терминала.

Выполнение команд MongoDB

Теперь давайте подключимся к MongoDB и выполним некоторые команды MongoDB, чтобы убедиться, что все работает нормально.

root@dev [~]# cd /home/journal/mongodb/mongodb/bin/
root@dev [/home/journal/mongodb/mongodb/bin]# ./mongo
MongoDB shell version: 3.4.7
connecting to: test
> show dbs
admin  (empty)
local  0.078GB
> use journaldev
switched to db journaldev
> db.names.save({"id":123,"name":"Pankaj"})
WriteResult({ "nInserted" : 1 })
> db.names.find()
{ "_id" : ObjectId("53df918adbef24e88560fa5b"), "id" : 123, "name" : "Pankaj" }
> db.datas.save({})
WriteResult({ "nInserted" : 1 })
> show collections
datas
names
system.indexes
> show dbs
admin       (empty)
journaldev  0.078GB
local       0.078GB
> exit
bye
root@dev [/home/journal/mongodb/mongodb/bin]# 

Как вы можете видеть, все кажется гладким, и я могу сохранять и извлекать данные из базы данных MongoDB. Если вы закроете терминал, из которого был запущен MongoDB, он остановится. Используйте команду nohup, чтобы запустить его, чтобы он не останавливался даже после закрытия терминала. Страница загрузки MongoDB

Source:
https://www.digitalocean.com/community/tutorials/install-mongodb-linux