如何在 Ubuntu 上安裝 MongoDB

2019-08-02 10:46:00

本教學介紹了在 Ubuntu 和基於 Ubuntu 的 Linux 發行版上安裝 MongoDB 的兩種方法。

MongoDB 是一個越來越流行的自由開源的 NoSQL 資料庫,它將資料儲存在類似 JSON 的靈活文件集中,這與 SQL 資料庫中常見的表格形式形成對比。

你很可能發現在現代 Web 應用中使用 MongoDB。它的文件模型使得使用各種程式語言能非常直觀地存取和處理它。

在本文中,我將介紹兩種在 Ubuntu 上安裝 MongoDB 的方法。

在基於 Ubuntu 的發行版上安裝 MongoDB

  1. 使用 Ubuntu 倉庫安裝 MongoDB。簡單但不是最新版本的 MongoDB
  2. 使用其官方倉庫安裝 MongoDB。稍微複雜,但你能得到最新版本的 MongoDB。

第一種安裝方法更容易,但如果你計劃使用官方支援的最新版本,那麼我建議使用第二種方法。

有些人可能更喜歡使用 snap 包。Ubuntu 軟體中心提供了 snap,但我不建議使用它們,因為他們現在已經過期了,因此我這裡不會提到。

方法 1:從 Ubuntu 倉庫安裝 MongoDB

這是在系統中安裝 MongoDB 的簡便方法,你只需輸入一個命令即可。

安裝 MongoDB

首先,確保你的包是最新的。開啟終端並輸入:

sudo apt update && sudo apt upgrade -y

繼續安裝 MongoDB:

sudo apt install mongodb

這就完成了!MongoDB 現在安裝到你的計算機上了。

MongoDB 服務應該在安裝時自動啟動,但要檢查服務狀態:

sudo systemctl status mongodb

Check if the MongoDB service is running.

你可以看到該服務是活動的。

執行 MongoDB

MongoDB 目前是一個 systemd 服務,因此我們使用 systemctl 來檢查和修改它的狀態,使用以下命令:

sudo systemctl status mongodbsudo systemctl stop mongodbsudo systemctl start mongodbsudo systemctl restart mongodb

你也可以修改 MongoDB 是否自動隨系統啟動(預設:啟用):

sudo systemctl disable mongodbsudo systemctl enable mongodb

要開始使用(建立和編輯)資料庫,請輸入:

mongo

這將啟動 mongo shell。有關查詢和選項的詳細資訊,請檢視手冊

注意:根據你計劃使用 MongoDB 的方式,你可能需要調整防火牆。不過這超出了本篇的內容,並且取決於你的設定。

解除安裝 MongoDB

如果你從 Ubuntu 倉庫安裝 MongoDB 並想要解除安裝它(可能要使用官方支援的方式安裝),請輸入:

sudo systemctl stop mongodbsudo apt purge mongodbsudo apt autoremove

這應該會完全解除安裝 MongoDB。確保備份你可能想要保留的任何集合或文件,因為它們將被刪除!

方法 2:在 Ubuntu 上安裝 MongoDB 社群版

這是推薦的安裝 MongoDB 的方法,它使用包管理器。你需要多打幾條命令,對於 Linux 新手而言,這可能會感到害怕。

但沒有什麼可怕的!我們將一步步說明安裝過程。

安裝 MongoDB

由 MongoDB Inc. 維護的包稱為 mongodb-org,而不是 mongodb(這是 Ubuntu 倉庫中包的名稱)。在開始之前,請確保系統上未安裝 mongodb。因為包之間會發生衝突。讓我們開始吧!

首先,我們必須匯入公鑰:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

現在,你需要在源列表中新增一個新的倉庫,以便你可以安裝 MongoDB 社群版並獲得自動更新:

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

要安裝 mongodb-org,我們需要更新我們的包資料庫,以便系統知道可用的新包:

sudo apt update

現在你可以安裝最新穩定版的 MongoDB:

sudo apt install -y mongodb-org

或者某個特定版本(在 = 後面修改版本號)

sudo apt install -y mongodb-org=4.0.6 mongodb-org-server=4.0.6 mongodb-org-shell=4.0.6 mongodb-org-mongos=4.0.6 mongodb-org-tools=4.0.6

如果你選擇安裝特定版本,請確保在所有位置都修改了版本號。如果你修改了 mongodb-org=4.0.6,你將安裝最新版本。

預設情況下,使用包管理器(apt-get)更新時,MongoDB 將更新為最新的版本。要阻止這種情況發生(並凍結為已安裝的版本),請使用:

echo "mongodb-org hold" | sudo dpkg --set-selectionsecho "mongodb-org-server hold" | sudo dpkg --set-selectionsecho "mongodb-org-shell hold" | sudo dpkg --set-selectionsecho "mongodb-org-mongos hold" | sudo dpkg --set-selectionsecho "mongodb-org-tools hold" | sudo dpkg --set-selections

你現在已經成功安裝了 MongoDB!

設定 MongoDB

預設情況下,包管理器將建立 /var/lib/mongodb/var/log/mongodb,MongoDB 將使用 mongodb 使用者帳戶執行。

我不會去更改這些預設設定,因為這超出了本指南的範圍。有關詳細資訊,請檢視手冊

/etc/mongod.conf 中的設定在啟動/重新啟動 mongodb 服務範例時生效。

執行 MongoDB

要啟動 mongodb 的守護行程 mongod,請輸入:

sudo service mongod start

現在你應該驗證 mongod 進程是否已成功啟動。此資訊(預設情況下)儲存在 /var/log/mongodb/mongod.log 中。我們來看看檔案的內容:

sudo cat /var/log/mongodb/mongod.log

Check MongoDB logs to see if the process is running properly.

只要你在某處看到:[initandlisten] waiting for connections on port 27017,就說明進程正常執行。

注意:27017 是 mongod 的預設埠。

要停止/重新啟動 mongod,請輸入:

sudo service mongod stopsudo service mongod restart

現在,你可以通過開啟 mongo shell 來使用 MongoDB:

mongo

解除安裝 MongoDB

執行以下命令:

sudo service mongod stopsudo apt purge mongodb-org*

要刪除資料庫紀錄檔檔案(確保備份你要保留的內容!):

sudo rm -r /var/log/mongodbsudo rm -r /var/lib/mongodb

總結

MongoDB 是一個很棒的 NoSQL 資料庫,它易於整合到現代專案中。我希望本教學能幫助你在 Ubuntu 上安裝它!在下面的評論中告訴我們你計劃如何使用 MongoDB。