如何在Ubuntu上安裝MongoDB
本教程介紹了在 Ubuntu 和基于 Ubuntu 的 Linux 發(fā)行版上安裝 MongoDB 的兩種方法。
MongoDB 是一個(gè)越來(lái)越流行的自由開(kāi)源的 NoSQL 數(shù)據(jù)庫(kù),它將數(shù)據(jù)存儲(chǔ)在類似 JSON 的靈活文檔集中,這與 SQL 數(shù)據(jù)庫(kù)中常見(jiàn)的表格形式形成對(duì)比。
你很可能發(fā)現(xiàn)在現(xiàn)代 Web 應(yīng)用中使用 MongoDB。它的文檔模型使得使用各種編程語(yǔ)言能非常直觀地訪問(wèn)和處理它。
在本文中,我將介紹兩種在 Ubuntu 上安裝 MongoDB 的方法。
在基于 Ubuntu 的發(fā)行版上安裝 MongoDB
- 使用 Ubuntu 倉(cāng)庫(kù)安裝 MongoDB。簡(jiǎn)單但不是最新版本的 MongoDB
- 使用其官方倉(cāng)庫(kù)安裝 MongoDB。稍微復(fù)雜,但你能得到最新版本的 MongoDB。
第一種安裝方法更容易,但如果你計(jì)劃使用官方支持的最新版本,那么我建議使用第二種方法。
有些人可能更喜歡使用 snap 包。Ubuntu 軟件中心提供了 snap,但我不建議使用它們,因?yàn)樗麄儸F(xiàn)在已經(jīng)過(guò)期了,因此我這里不會(huì)提到。
方法 1:從 Ubuntu 倉(cāng)庫(kù)安裝 MongoDB
這是在系統(tǒng)中安裝 MongoDB 的簡(jiǎn)便方法,你只需輸入一個(gè)命令即可。
安裝 MongoDB
首先,確保你的包是最新的。打開(kāi)終端并輸入:
sudo apt update && sudo apt upgrade -y
繼續(xù)安裝 MongoDB:
sudo apt install mongodb
這就完成了!MongoDB 現(xiàn)在安裝到你的計(jì)算機(jī)上了。
MongoDB 服務(wù)應(yīng)該在安裝時(shí)自動(dòng)啟動(dòng),但要檢查服務(wù)狀態(tài):
sudo systemctl status mongodb
Check if the MongoDB service is running.
你可以看到該服務(wù)是活動(dòng)的。
運(yùn)行 MongoDB
MongoDB 目前是一個(gè) systemd 服務(wù),因此我們使用 systemctl
來(lái)檢查和修改它的狀態(tài),使用以下命令:
sudo systemctl status mongodb
sudo systemctl stop mongodb
sudo systemctl start mongodb
sudo systemctl restart mongodb
你也可以修改 MongoDB 是否自動(dòng)隨系統(tǒng)啟動(dòng)(默認(rèn):?jiǎn)⒂茫?/p>
sudo systemctl disable mongodb
sudo systemctl enable mongodb
要開(kāi)始使用(創(chuàng)建和編輯)數(shù)據(jù)庫(kù),請(qǐng)輸入:
mongo
這將啟動(dòng) mongo shell。有關(guān)查詢和選項(xiàng)的詳細(xì)信息,請(qǐng)查看手冊(cè)。
注意:根據(jù)你計(jì)劃使用 MongoDB 的方式,你可能需要調(diào)整防火墻。不過(guò)這超出了本篇的內(nèi)容,并且取決于你的配置。
卸載 MongoDB
如果你從 Ubuntu 倉(cāng)庫(kù)安裝 MongoDB 并想要卸載它(可能要使用官方支持的方式安裝),請(qǐng)輸入:
sudo systemctl stop mongodb
sudo apt purge mongodb
sudo apt autoremove
這應(yīng)該會(huì)完全卸載 MongoDB。確保備份你可能想要保留的任何集合或文檔,因?yàn)樗鼈儗⒈粍h除!
方法 2:在 Ubuntu 上安裝 MongoDB 社區(qū)版
這是推薦的安裝 MongoDB 的方法,它使用包管理器。你需要多打幾條命令,對(duì)于 Linux 新手而言,這可能會(huì)感到害怕。
但沒(méi)有什么可怕的!我們將一步步說(shuō)明安裝過(guò)程。
安裝 MongoDB
由 MongoDB Inc. 維護(hù)的包稱為 mongodb-org
,而不是 mongodb
(這是 Ubuntu 倉(cāng)庫(kù)中包的名稱)。在開(kāi)始之前,請(qǐng)確保系統(tǒng)上未安裝 mongodb
。因?yàn)榘g會(huì)發(fā)生沖突。讓我們開(kāi)始吧!
首先,我們必須導(dǎo)入公鑰:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
現(xiàn)在,你需要在源列表中添加一個(gè)新的倉(cāng)庫(kù),以便你可以安裝 MongoDB 社區(qū)版并獲得自動(dòng)更新:
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
,我們需要更新我們的包數(shù)據(jù)庫(kù),以便系統(tǒng)知道可用的新包:
sudo apt update
現(xiàn)在你可以安裝最新穩(wěn)定版的 MongoDB:
sudo apt install -y mongodb-org
或者某個(gè)特定版本(在 =
后面修改版本號(hào))
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
如果你選擇安裝特定版本,請(qǐng)確保在所有位置都修改了版本號(hào)。如果你修改了 mongodb-org=4.0.6
,你將安裝最新版本。
默認(rèn)情況下,使用包管理器(apt-get
)更新時(shí),MongoDB 將更新為最新的版本。要阻止這種情況發(fā)生(并凍結(jié)為已安裝的版本),請(qǐng)使用:
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
你現(xiàn)在已經(jīng)成功安裝了 MongoDB!
配置 MongoDB
默認(rèn)情況下,包管理器將創(chuàng)建 /var/lib/mongodb
和 /var/log/mongodb
,MongoDB 將使用 mongodb
用戶帳戶運(yùn)行。
我不會(huì)去更改這些默認(rèn)設(shè)置,因?yàn)檫@超出了本指南的范圍。有關(guān)詳細(xì)信息,請(qǐng)查看手冊(cè)。
/etc/mongod.conf
中的設(shè)置在啟動(dòng)/重新啟動(dòng) mongodb 服務(wù)實(shí)例時(shí)生效。
運(yùn)行 MongoDB
要啟動(dòng) mongodb 的守護(hù)進(jìn)程 mongod
,請(qǐng)輸入:
sudo service mongod start
現(xiàn)在你應(yīng)該驗(yàn)證 mongod
進(jìn)程是否已成功啟動(dòng)。此信息(默認(rèn)情況下)保存在 /var/log/mongodb/mongod.log
中。我們來(lái)看看文件的內(nèi)容:
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
,就說(shuō)明進(jìn)程正常運(yùn)行。
注意:27017 是 mongod
的默認(rèn)端口。
要停止/重啟 mongod
,請(qǐng)輸入:
sudo service mongod stop
sudo service mongod restart
現(xiàn)在,你可以通過(guò)打開(kāi) mongo shell 來(lái)使用 MongoDB:
mongo
卸載 MongoDB
運(yùn)行以下命令:
sudo service mongod stop
sudo apt purge mongodb-org*
要?jiǎng)h除數(shù)據(jù)庫(kù)和日志文件(確保備份你要保留的內(nèi)容!):
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
總結(jié)
MongoDB 是一個(gè)很棒的 NoSQL 數(shù)據(jù)庫(kù),它易于集成到現(xiàn)代項(xiàng)目中。我希望本教程能幫助你在 Ubuntu 上安裝它!在下面的評(píng)論中告訴我們你計(jì)劃如何使用 MongoDB。