MongoDB 是由 C++ 語言編寫的非關系型數據庫,是一個基于分布式文件存儲的開源數據庫系統,其內容存儲形式類似 Json 對象,它的字段值可以包含其他文檔,數組及文檔數組,非常靈活。
MongoDB 支持多種平臺,包括 Windows、Linux、Mac OS、Solaris 等,在其官方網站均可找到對應的安裝包,https://www.mongodb.com/download-center
1. 相關鏈接
- 官方網站:https://www.mongodb.com
- 官方文檔:https://docs.mongodb.com
- GitHub:https://github.com/mongodb
- 中文教程:http://www.runoob.com/mongodb/mongodb-tutorial.html
2. Windows下的安裝
直接在官網下載安裝包即可,鏈接為:https://www.mongodb.com/download-center#community,頁面如圖 1-29 所示:
直接點擊 Download 下載 msi 安裝包即可。
下載完成之后雙擊開始安裝,指定 MongoDB 的安裝路徑,例如在此處我指定安裝路徑為 C:\MongoDB\Server\3.4,當然路徑可以自行選擇,如圖 1-30 所示:
點擊下一步執行安裝即可。
安裝成功之后,進入 MongoDB 的安裝目錄,在此處所在路徑是 C:\MongoDB\Server\3.4,在 bin 目錄下新建同級目錄 data,如圖 1-31 所示:
然后進入 data 文件夾新建子文件夾 db,作為數據目錄存儲的文件夾,如圖 1-32 所示:
之后打開命令行,進入 MongoDB 安裝目錄的 bin 目錄下,運行 MongoDB 服務:
mongod --dbpath "C:\MongoDB\Server\3.4\data\db"
請記得將此處的路徑替換成你的主機 MongoDB 安裝路徑。
運行之后會出現一些輸出信息,如圖 1-33 所示:
這樣我們就已經將 MongoDB 服務啟動了。
但是這樣如果我們想一直使用 MongoDB 就不能關閉此命令行,如果意外關閉或重啟 MongoDB 服務就不能使用了,這顯然不是我們想要的,所以接下來我們還需將 MongoDB 配置成系統服務。
首先我們要以管理員模式運行命令行,注意此處一定要是管理員模式運行,否則可能配置失敗,如圖
管理員模式
開始菜單搜索 cmd,找到命令行,然后右鍵以管理員身份運行即可。
隨后新建一個日志文件,在 bin 目錄同級目錄新建 logs 文件夾,進入之后新建一個 mongodb.log 文件,用于保存 MongoDB 運行的日志,如圖 1-35 所示。
在命令行下輸入如下內容:
mongod --bind_ip 0.0.0.0 --logpath "C:\MongoDB\Server\3.4\logs\mongodb.log" --logappend --dbpath "C:\MongoDB\Server\3.4\data\db" --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install
這里的意思是綁定 IP 為 0.0.0.0,即任意 IP 均可訪問,指定日志路徑、數據庫路徑、端口,指定服務名稱,注意這里依然需要把路徑替換成你的 MongoDB 安裝路徑,運行此命令后即可安裝服務,運行結果如圖 所示:
運行結果
如果沒有出現錯誤提示,則證明 MongoDB 服務已經安裝成功。
可以在服務管理頁面查看到系統服務,如圖 所示:
系統服務頁面
可以設置它的開機啟動方式,如自動啟動或手動啟動等。這樣我們就可以非常方便地管理 MongoDB 服務了。
啟動服務之后我們在命令行下就可以利用 mongo 命令進入 MongoDB 命令交互環境了,如圖 1-38 所示:
這樣 Windows 下 MongoDB 配置就完成了。
3. Linux下的安裝
在這里以 MongoDB 3.4 為例說明 MongoDB 的安裝過程。
Ubuntu
首先導入 MongoDB 的 GPG Key:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv
0C49F3730359A14518585931BC711F9BA15703C6
隨后創建 apt-get 源列表,各個系統版本對應的命令如下:
-
Ubuntu 12.04
echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu precise/mongodb-
org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list -
Ubuntu 14.04
echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-
org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
隨后更新 apt-get 源:
sudo apt-get update
之后安裝 MongoDB 即可:
sudo apt-get install -y mongodb-org
安裝完成之后運行 MongoDB,命令如下:
mongod --port 27017 --dbpath /data/db
運行命令之后 MongoDB 就在 27017 端口上運行了,數據文件會保存在 /data/db 路徑下。
一般我們在 Linux 上配置 MongoDB 都是為了遠程連接使用的,所以在這里還需要配置一下 MongoDB 的遠程連接和用戶名密碼:
接著我們進入到 MongoDB 命令行:
mongo --port 27017
現在我們就已經進入到 MongoDB 的命令行交互模式下了,在此模式下運行如下命令:
use admin
switched to db admin
db.createUser({user: 'admin', pwd: 'admin123', roles: [{role: 'root', db: 'admin'}]})
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
這樣我們就創建了一個用戶名為 admin,密碼為 admin123 的用戶,賦予最高權限。
隨后需要修改 MongoDB 的配置文件,
執行如下命令:
sudo vi /etc/mongod.conf
-
修改 net 部分為:
net: port: 27017 bindIp: 0.0.0.0
這樣配置后 MongoDB 可被遠程訪問。
另外還需要添加如下權限認證配置,直接添加如下內容到配置文件:
security:
authorization: enabled
配置完成之后我們需要重新啟動 MongoDB 服務,命令如下:
sudo servicemongod restart
這樣遠程連接和權限認證就配置完成了。
CentOS、RedHat
首先添加 MongoDB 源:
sudo vi /etc/yum.repos.d/mongodb-org.repo
修改為如下內容保存:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-
org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
然后執行 yum 命令安裝:
sudo yum install mongodb-org
啟動 MongoDB 服務:
sudo systemctl start mongod
停止和重新加載 MongoDB 服務:
sudo systemctl stop mongod
sudo systemctl reload mongod
有關遠程連接和認證配置可以參考上文,方式是相同的。
更多 Linux 發行版的 MongoDB 安裝方式可以參考官方文檔:
https://docs.mongodb.com/manual/administration/install-on-linux/
4. Mac下的安裝
推薦使用 Homebrew 安裝,執行 brew 命令即可:
brew install mongodb
然后創建一個新文件夾 /data/db,用于存放 MongoDB 數據。
啟動 MongoDB 服務:
brew services start mongodb
sudo mongod
這樣就啟動了 MongoDB 服務。
停止、重啟 MongoDB 服務的命令:
brew services stop mongodb
brew services restart mongodb
5. 可視化工具
在這里推薦一個可視化工具 RoboMongo/Robo 3T,使用簡單,功能強大,官方
網站:https://robomongo.org/,三大平臺都有支持,下
載鏈接:https://robomongo.org/download。
另外還有一個簡單易用的可視化工具,Studio 3T,同樣具有方便的圖形化管理, 官方網站:https://studio3t.com,同樣支持三大平臺,下載 鏈接:https://studio3t.com/download/。