在Linux上安装MongoDB

时间:2020-02-23 14:40:48  来源:igfitidea点击:

之前我们写了如何在Mac OS X上安装MongoDB的文章。
但是,大多数开发通常在Unix/Linux计算机上进行。
因此,今天我们将研究如何在Linux系统上安装MongoDB。

在Linux上安装MongoDB

MongoDB的当前版本是3.4.7,我将通过命令行安装64位版本。
在Linux上安装MongoDB的步骤非常简单,只需按照以下终端命令下载并安装即可。

  • 下载并解压缩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
  • 将MongoDB bin目录添加到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
  • 为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.theitroad.local
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
  • 使用" 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计算机上,并且运行良好。

但是,您可能希望通过用户个人资料(即.bash_profile或者.profile)导出PATH,因此退出终端后该路径就不会消失。

执行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 theitroad
switched to db theitroad
> db.names.save({"id":123,"name":"hyman"})
WriteResult({ "nInserted" : 1 })
> db.names.find()
{ "_id" : ObjectId("53df918adbef24e88560fa5b"), "id" : 123, "name" : "hyman" }
> db.datas.save({})
WriteResult({ "nInserted" : 1 })
> show collections
datas
names
system.indexes
> show dbs
admin       (empty)
theitroad  0.078GB
local       0.078GB
> exit
bye
root@dev [/home/journal/mongodb/mongodb/bin]#

如您所见,一切似乎都很顺利,我能够从MongoDB数据库中保存和检索数据。

如果您退出启动mongodb的终端,它将停止。
使用" nohup"命令启动它,这样即使关闭终端后它也不会停止。