有一段时间以前,我写了一篇关于如何在Mac OS X上安装MongoDB的文章(/community/tutorials/install-mongodb-mac)。
在 Linux 上安装 MongoDB
Current version of MongoDB is 3.4.7 and I will be installing 64-bit version through command line. The steps to install MongoDB on Linux are very simple, just follow the below terminal commands to download and install it.
- 下载并提取 MongoDB 二进制
1root@dev [/home/journal]# mkdir mongodb
2root@dev [/home/journal]# cd mongodb/
3root@dev [/home/journal/mongodb]# curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.7.tgz
4 % Total % Received % Xferd Average Speed Time Time Time Current
5 Dload Upload Total Spent Left Speed
6100 82.7M 100 82.7M 0 0 1704k 0 0:00:49 0:00:49 --:--:-- 1334k
7root@dev [/home/journal/mongodb]# tar xvf mongodb-linux-x86_64-3.4.7.tgz
8 mongodb-linux-x86_64-3.4.7/README
9 mongodb-linux-x86_64-3.4.7/THIRD-PARTY-NOTICES
10 mongodb-linux-x86_64-3.4.7/MPL-2
11 mongodb-linux-x86_64-3.4.7/GNU-AGPL-3.0
12 mongodb-linux-x86_64-3.4.7/bin/mongodump
13 mongodb-linux-x86_64-3.4.7/bin/mongorestore
14 mongodb-linux-x86_64-3.4.7/bin/mongoexport
15 mongodb-linux-x86_64-3.4.7/bin/mongoimport
16 mongodb-linux-x86_64-3.4.7/bin/mongostat
17 mongodb-linux-x86_64-3.4.7/bin/mongotop
18 mongodb-linux-x86_64-3.4.7/bin/bsondump
19 mongodb-linux-x86_64-3.4.7/bin/mongofiles
20 mongodb-linux-x86_64-3.4.7/bin/mongooplog
21 mongodb-linux-x86_64-3.4.7/bin/mongoreplay
22 mongodb-linux-x86_64-3.4.7/bin/mongoperf
23 mongodb-linux-x86_64-3.4.7/bin/mongod
24 mongodb-linux-x86_64-3.4.7/bin/mongos
25 mongodb-linux-x86_64-3.4.7/bin/mongo
将 MongoDB bin 目录添加到 PATH 变量
1root@dev [/home/journal/mongodb]# mv mongodb-linux-x86_64-3.4.7 mongodb
2root@dev [/home/journal/mongodb]# cd mongodb
3root@dev [/home/journal/mongodb/mongodb]# echo $PATH
4/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin
5root@dev [/home/journal/mongodb/mongodb]# export PATH=$PATH:/home/journal/mongodb/mongodb/bin
创建 MongoDB 文件目录并启动它
1root@dev [/home/journal/mongodb/mongodb]# mkdir data
2root@dev [/home/journal/mongodb/mongodb]# cd bin
3root@dev [/home/journal/mongodb/mongodb/bin]# ./mongod --dbpath /home/journal/mongodb/mongodb/data &
4[1] 30387
5root@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
62014-08-04T13:56:05.917+0000 [initandlisten] db version v3.4.7
72014-08-04T13:56:05.917+0000 [initandlisten] git version: 255f67a66f9603c59380b2a389e386910bbb52cb
82014-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
92014-08-04T13:56:05.917+0000 [initandlisten] allocator: tcmalloc
102014-08-04T13:56:05.917+0000 [initandlisten] options: { storage: { dbPath: "/home/journal/mongodb/mongodb/data" } }
112014-08-04T13:56:05.922+0000 [initandlisten] journal dir=/home/journal/mongodb/mongodb/data/journal
122014-08-04T13:56:05.922+0000 [initandlisten] recover : no journal files present, no recovery needed
132014-08-04T13:56:06.064+0000 [FileAllocator] allocating new datafile /home/journal/mongodb/mongodb/data/local.ns, filling with zeroes...
142014-08-04T13:56:06.064+0000 [FileAllocator] creating directory /home/journal/mongodb/mongodb/data/_tmp
152014-08-04T13:56:06.067+0000 [FileAllocator] done allocating datafile /home/journal/mongodb/mongodb/data/local.ns, size: 16MB, took 0.001 secs
162014-08-04T13:56:06.069+0000 [FileAllocator] allocating new datafile /home/journal/mongodb/mongodb/data/local.0, filling with zeroes...
172014-08-04T13:56:06.070+0000 [FileAllocator] done allocating datafile /home/journal/mongodb/mongodb/data/local.0, size: 64MB, took 0.001 secs
182014-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" }
192014-08-04T13:56:06.071+0000 [initandlisten] added index to empty collection
202014-08-04T13:56:06.071+0000 [initandlisten] waiting for connections on port 27017
使用ps
命令确认 MongoDB 正在运行
1root@dev [/home/journal/mongodb/mongodb/bin]#
2root@dev [/home/journal/mongodb/mongodb/bin]# ps -eaf | grep mongo
3root 7199 28009 0 14:09 pts/0 00:00:00 grep mongo
4root 30387 28009 0 13:56 pts/0 00:00:02 ./mongod --dbpath /home/journal/mongodb/mongodb/data
5root@dev [/home/journal/mongodb/mongodb/bin]#
就是这样,我们的 MongoDB 安装在 linux 机器上,运行良好,但是,您可能希望通过您的用户配置文件(即.bash_profile 或.profile)导出 PATH,这样一旦您离开终端,它就不会消失。
执行 MongoDB 命令
现在,让我们连接到MongoDB并运行一些mongodb命令,以确保它正常运行。
1root@dev [~]# cd /home/journal/mongodb/mongodb/bin/
2root@dev [/home/journal/mongodb/mongodb/bin]# ./mongo
3MongoDB shell version: 3.4.7
4connecting to: test
5> show dbs
6admin (empty)
7local 0.078GB
8> use journaldev
9switched to db journaldev
10> db.names.save({"id":123,"name":"Pankaj"})
11WriteResult({ "nInserted" : 1 })
12> db.names.find()
13{ "_id" : ObjectId("53df918adbef24e88560fa5b"), "id" : 123, "name" : "Pankaj" }
14> db.datas.save({})
15WriteResult({ "nInserted" : 1 })
16> show collections
17datas
18names
19system.indexes
20> show dbs
21admin (empty)
22journaldev 0.078GB
23local 0.078GB
24> exit
25bye
26root@dev [/home/journal/mongodb/mongodb/bin]#
正如你所看到的,一切似乎都很顺利,我可以从MongoDB数据库中保存和检索数据. 如果你离开了MongoDB开始的终端,它将被停止。 使用nohup
命令来启动它,以便即使在你关闭终端后也不会停止。