MongoDB 是跨平台的,既可以在 Linux系統下安裝,也可以在Windows 系統、MacOS系統下安裝,本節主要介紹如何在 Linux 系統下安裝 MongoDB。
windows安裝:http://c.biancheng.net/mongodb2/install-on-windows.html
MacOS安裝:http://c.biancheng.net/mongodb2/install-on-macos.html
安裝 MongoDB
下載安裝包
進入MongoDB 官網(https://www.mongodb.com/try/download/community)下載合適的安裝包,如下圖所示:
我們選擇好要使用的安裝包后並不需要在瀏覽器中直接下載,只需要復制下載鏈接即可,之后使用 Linux 命令來下載 MongoDB 的安裝包,如下所示:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.0.tgz
安裝
1、將安裝包移到 /usr/local/src 目錄下(這步為個人習慣,非必須執行)
2、解壓安裝包
3、創建數據存儲目錄和日志存儲文件
4、進入mongodb解壓目錄下的bin目錄,啟動mongodb服務
配置 MongoDB
以上面的方式啟動mongodb比較麻煩,每次要自己加一堆參數,我們可以把這些參數寫到配置文件中
1、進入mongodb解壓目錄下的bin目錄,新增mongodb.conf文件
2、vim編輯mongodb.conf文件,增加下面配置內容
# 數據存儲目錄 dbpath=/usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/data # 日志存儲目錄 logpath=/usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/mongodb.log # 日志以追加方式存儲 logappend=true # 綁定ip bind_ip=127.0.0.1 # 綁定端口 port=27017 # 是否以守護進程啟動 fork=true
更多配置文件配置詳情

# 數據庫文件位置 dbpath=/var/lib/mongodb #日志文件的路徑 logpath=/var/log/mongodb/mongodb.log # 是否追加方式寫入日志,默認True logappend=true # 設置綁定ip bind_ip = 127.0.0.1 # 設置端口 port = 27017 # 是否以守護進程方式運行,默認false fork = true # 啟用日志文件,默認啟用 journal=true # 啟用定期記錄CPU利用率和 I/O 等待,默認false #cpu = true # 是否以安全認證方式運行,默認是不認證的非安全方式 #noauth = true #auth = true # 詳細記錄輸出,默認false #verbose = true #用於開發驅動程序時驗證客戶端請求 #objcheck = true # # 啟用數據庫配額管理,默認false #quota = true # 設置oplog日志記錄等級,默認0 # 0=off (default) # 1=W # 2=R # 3=both # 7=W+some reads #oplog = 0 # 是否打開動態調試項,默認false #nocursors = true # 忽略查詢提示,默認false #nohints = true # 禁用http界面,默認為localhost:28017 #nohttpinterface = true # 關閉服務器端腳本,這將極大的限制功能,默認false #noscripting = true # 關閉掃描表,任何查詢將會是掃描失敗 #notablescan = true # 關閉數據文件預分配 #noprealloc = true # 為新數據庫指定.ns文件的大小,單位:MB # nssize = <size> # 用於Mongo監控服務器的Accout token。 #mms-token = <token> # Mongo監控服務器的服務器名稱。 #mms-name = <server-name> # Mongo監控服務器的Ping間隔時間,即心跳 #mms-interval = <seconds> # Replication Options # 設置主從復制參數 #slave = true # 設置從節點 #source = master.example.com # 指定從節點的主節點 # Slave only: 指定要復制的單個數據庫 #only = master.example.com # or #master = true # 設置主節點 #source = slave.example.com # 設置副本集的名字,所有的實例指定相同的名字屬於一個副本集 replSet = name #pairwith = <server:port> # 仲裁服務器地址 #arbiter = <server:port> # 默認為false,用於從實例設置。是否自動重新同步 #autoresync = true # 指定的復制操作日志(OPLOG)的最大大小 #oplogSize = <MB> # 限制復制操作的內存使用 #opIdMem = <bytes> # 設置ssl認證 # Enable SSL on normal ports #sslOnNormalPorts = true # SSL Key file and password #sslPEMKeyFile = /etc/ssl/mongodb.pem #sslPEMKeyPassword = pass
3、以配置文件啟動mongodb
4、設置mongodb命令為全局使用
在 /etc/profile 文件最后加上
export MONGODB_HOME=/usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/bin
export PATH=$PATH:$MONGODB_HOME
source文件,使配置立即生效后,就可以全局使用mongodb命令了
需要注意的是,此時使用mongodb.conf配置文件啟動服務需要使用絕對路徑,否則無法找到配置文件。
5、設置mongodb使用service開機啟動並使用命令控制服務
在 /etc/init.d/ 目錄下新建mongodb文件,,將下面代碼粘貼進去

#!/bin/sh # #mongod - Startup script for mongod # # chkconfig: - 85 15 # description: Mongodb database. # processname: mongod # Source function library . /etc/rc.d/init.d/functions # things from mongod.conf get there by mongod reading it # OPTIONS OPTIONS=" -f /usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/bin/mongodb.conf " #mongod mongod="/usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/bin/mongod" lockfile=/var/lock/subsys/mongod start() { echo -n $"Starting mongod: " daemon $mongod $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $lockfile } stop() { echo -n $"Stopping mongod: " killproc $mongod -QUIT RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $lockfile } restart () { stop start } ulimit -n 12000 RETVAL=0 case "$1" in start) start ;; stop) stop ;; restart|reload|force-reload) restart ;; condrestart) [ -f $lockfile ] && restart || : ;; status) status $mongod RETVAL=$? ;; *) echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}" RETVAL=1 esac exit $RETVAL
需要注意OPTIONS和mongod參數值要與自己的安全路徑一致
給文件增加執行權限
此時,使用chkconfig --list 命令可以看到多了個mongodb,然后使用chkconfig mongodb on 設置開機啟動
此時我們還可以使用 service mongodb [start|stop|restart] 控制mongodb服務
連接 MongoDB
進入解壓目錄的bin,執行 mongo文件就可以啟用客戶端連接mongodb
如果已配置mongodb命令為全局使用,可以在任何目錄輸入mongo 連接mongodb