分類: Linux

在 Ubuntu Linux 中安裝 MongoDB 資料庫

這裡示範在 Ubuntu Linux 中使用 MongoDB 官方所提供的 deb 套件來安裝 MongoDB 資料庫。

雖然 Ubuntu 官方的套件庫也有收錄 MongoDB 的套件,不過通常 MongoDB 官方所提供的 deb 套件會比較新。


MongoDB 官方的套件主要有:
  • mongodb-org:這是一個 meta 套件,包含所有 MongoDB 的相關套件。
  • mongodb-org-server:mongod 程式與相關設定檔。
  • mongodb-org-mongos:mongos 程式。
  • mongodb-org-shell:mongo shell。
  • mongodb-org-tools:其餘各種工具。

安裝 MongoDB

以下是安裝步驟。

Step 1
匯入 MongoDB 公開的 GPG 金鑰:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

Step 2
建立 /etc/apt/sources.list.d/mongodb-org-3.0.list

echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

Step 3
更新套件庫:

sudo apt-get update

Step 4
安裝 MongoDB:

sudo apt-get install -y mongodb-org

也可以直接指定版本,安裝特定版本的 MongoDB:

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

如果您不希望未來 apt 自動將 MongoDB 更新至更新的版本,可以執行以下的指令,讓 MongoDB 的版本維持不變:

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

啟動 MongoDB

MongoDB 預設會以 mongodb 這個使用者的權限來執行,並將資料儲存在 /var/lib/mongodb 中,而所有的紀錄檔都會放在 /var/log/mongodb,而這些設定可以從 /etc/mongod.conf 中修改。

如果您修改了 MongoDB 執行的使用者,記得要檢查 /var/lib/mongodb 與 /var/log/mongodb 的權限,確定執行 MongoDB 的使用者可以存取。

若要啟用 MongoDB,則執行:

sudo service mongod start

如果正常的話,在記錄檔中會有一行類似這樣的訊息:
[initandlisten] waiting for connections on port 27017
如果要停止 MongoDB,則執行:

sudo service mongod stop

如果要重新啟動 MongoDB,則執行:

sudo service mongod restart

移除 MongoDB

如果要完全移除 MongoDB,除了刪除 MongoDB 應用程式本身之外,還要連同設定檔與資料一起刪除。

以下的步驟會完全移除 MongoDB 與所有的資料庫,請確認您是否已經將重要資料或是設定檔備份好了。

Step 1
停止 MongoDB 服務:

sudo service mongod stop

Step 2
移除所有 MongoDB 套件:

sudo apt-get purge mongodb-org*

Step 3
刪除所有的記錄檔與資料庫:

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: MongoDBNoSQL

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

2 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

2 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

3 年 ago