在當(dāng)今的數(shù)據(jù)驅(qū)動時(shí)代,數(shù)據(jù)庫的重要性不言而喻。MongoDB作為一款強(qiáng)大的開源文檔型數(shù)據(jù)庫,以其靈活的數(shù)據(jù)模型、高可擴(kuò)展性和出色的性能,在眾多應(yīng)用場景中得到了廣泛應(yīng)用。Ubuntu 18是一款穩(wěn)定且廣泛使用的Linux操作系統(tǒng),本文將詳細(xì)介紹如何在Ubuntu 18上安裝與配置MongoDB數(shù)據(jù)庫。
系統(tǒng)準(zhǔn)備
在開始安裝MongoDB之前,我們需要對Ubuntu 18系統(tǒng)進(jìn)行一些必要的準(zhǔn)備工作。首先,要確保系統(tǒng)的軟件包列表是最新的,這可以通過以下命令來更新:
sudo apt update sudo apt upgrade
上述命令中,“sudo apt update”用于更新軟件包列表,讓系統(tǒng)知道可用的軟件包版本信息;“sudo apt upgrade”則會將系統(tǒng)中已安裝的軟件包升級到最新版本。在執(zhí)行“sudo apt upgrade”時(shí),系統(tǒng)可能會提示你確認(rèn)一些操作,按照提示進(jìn)行選擇即可。
此外,為了確保MongoDB的正常安裝和運(yùn)行,我們還需要安裝一些必要的依賴包,使用以下命令:
sudo apt install gnupg2 curl
“gnupg2”是一個(gè)用于加密和簽名的工具,“curl”則用于從網(wǎng)絡(luò)上下載文件,這兩個(gè)工具在后續(xù)的安裝過程中會用到。
導(dǎo)入MongoDB官方GPG密鑰
MongoDB官方使用GPG密鑰來驗(yàn)證軟件包的完整性和真實(shí)性。我們需要導(dǎo)入MongoDB官方的GPG密鑰,以確保從官方源下載的軟件包是安全可靠的。使用以下命令導(dǎo)入密鑰:
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg --dearmor
該命令通過“curl”從指定的URL下載MongoDB官方的GPG密鑰,并使用“gpg”將其轉(zhuǎn)換為適合系統(tǒng)使用的格式,存儲在“/usr/share/keyrings/mongodb-server-6.0.gpg”文件中。
添加MongoDB軟件源
為了能夠從官方源安裝MongoDB,我們需要將MongoDB的軟件源添加到系統(tǒng)的軟件源列表中。創(chuàng)建一個(gè)新的軟件源列表文件,使用以下命令:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
上述命令將MongoDB的軟件源信息寫入到“/etc/apt/sources.list.d/mongodb-org-6.0.list”文件中。其中,“arch=amd64,arm64”指定了支持的架構(gòu),“signed-by”指定了用于驗(yàn)證軟件包的GPG密鑰文件路徑,“https://repo.mongodb.org/apt/ubuntu”是MongoDB官方的軟件源地址,“bionic”是Ubuntu 18的代號,“mongodb-org/6.0”指定了MongoDB的版本,“multiverse”是軟件源的組件。
添加完軟件源后,再次更新軟件包列表:
sudo apt update
安裝MongoDB
現(xiàn)在可以安裝MongoDB了,使用以下命令:
sudo apt install -y mongodb-org
“-y”參數(shù)表示在安裝過程中自動確認(rèn)所有提示,無需手動干預(yù)。該命令會安裝MongoDB的核心組件,包括“mongodb-org-server”(MongoDB服務(wù)器)、“mongodb-org-shell”(MongoDB客戶端)、“mongodb-org-mongos”(MongoDB分片路由器)等。
安裝完成后,可以通過以下命令檢查MongoDB的版本:
mongod --version
配置MongoDB
MongoDB的配置文件位于“/etc/mongod.conf”,我們可以通過編輯該文件來對MongoDB進(jìn)行配置。使用以下命令打開配置文件:
sudo nano /etc/mongod.conf
在配置文件中,有幾個(gè)重要的配置項(xiàng)需要關(guān)注:
1. bindIp:該配置項(xiàng)指定MongoDB服務(wù)器監(jiān)聽的IP地址。默認(rèn)情況下,MongoDB只監(jiān)聽本地回環(huán)地址“127.0.0.1”,如果需要允許遠(yuǎn)程訪問,可以將其修改為服務(wù)器的實(shí)際IP地址或“0.0.0.0”(表示監(jiān)聽所有可用的網(wǎng)絡(luò)接口)。例如:
net: port: 27017 bindIp: 0.0.0.0
2. storage.dbPath:該配置項(xiàng)指定MongoDB的數(shù)據(jù)存儲路徑。默認(rèn)情況下,數(shù)據(jù)存儲在“/var/lib/mongodb”目錄下。如果需要將數(shù)據(jù)存儲到其他位置,可以修改該配置項(xiàng)的值。例如:
storage: dbPath: /data/mongodb
3. systemLog.path:該配置項(xiàng)指定MongoDB的日志文件路徑。默認(rèn)情況下,日志文件存儲在“/var/log/mongodb/mongod.log”。如果需要將日志文件存儲到其他位置,可以修改該配置項(xiàng)的值。例如:
systemLog: destination: file path: /var/log/mongodb/mongod.log logAppend: true
修改完配置文件后,保存并退出編輯器。
啟動和管理MongoDB服務(wù)
安裝和配置完成后,需要啟動MongoDB服務(wù)。使用以下命令啟動MongoDB:
sudo systemctl start mongod
可以使用以下命令檢查MongoDB服務(wù)的狀態(tài):
sudo systemctl status mongod
如果服務(wù)正常啟動,輸出信息中會顯示“active (running)”。如果服務(wù)啟動失敗,可以查看日志文件“/var/log/mongodb/mongod.log”來查找問題所在。
為了讓MongoDB在系統(tǒng)啟動時(shí)自動啟動,可以使用以下命令將其設(shè)置為開機(jī)自啟:
sudo systemctl enable mongod
如果需要停止MongoDB服務(wù),可以使用以下命令:
sudo systemctl stop mongod
如果需要重啟MongoDB服務(wù),可以使用以下命令:
sudo systemctl restart mongod
連接和測試MongoDB
啟動MongoDB服務(wù)后,可以使用MongoDB客戶端連接到MongoDB服務(wù)器。使用以下命令啟動MongoDB客戶端:
mongo
如果連接成功,會進(jìn)入MongoDB的交互式命令行界面。在該界面中,可以執(zhí)行各種MongoDB命令。例如,創(chuàng)建一個(gè)新的數(shù)據(jù)庫和集合,并添加一條文檔:
use testdb
db.testcollection.insertOne({ "name": "John", "age": 30 })上述命令中,“use testdb”用于切換到名為“testdb”的數(shù)據(jù)庫,如果該數(shù)據(jù)庫不存在則會自動創(chuàng)建;“db.testcollection.insertOne({ "name": "John", "age": 30 })”用于在“testcollection”集合中添加一條文檔。
可以使用以下命令查詢集合中的文檔:
db.testcollection.find()
如果查詢結(jié)果中顯示了剛才添加的文檔,則說明MongoDB安裝和配置成功。
安全配置
為了確保MongoDB的安全性,我們需要進(jìn)行一些安全配置。首先,啟用身份驗(yàn)證。編輯MongoDB配置文件“/etc/mongod.conf”,添加以下配置項(xiàng):
security: authorization: enabled
保存并退出配置文件后,重啟MongoDB服務(wù):
sudo systemctl restart mongod
然后,使用MongoDB客戶端連接到MongoDB服務(wù)器,并創(chuàng)建一個(gè)管理員用戶:
mongo
use admin
db.createUser({
user: "admin",
pwd: "password",
roles: [ { role: "root", db: "admin" } ]
})上述命令中,“use admin”用于切換到“admin”數(shù)據(jù)庫;“db.createUser()”用于創(chuàng)建一個(gè)新用戶,“user”指定用戶名,“pwd”指定密碼,“roles”指定用戶的角色,“root”角色表示擁有最高權(quán)限。
創(chuàng)建完管理員用戶后,退出MongoDB客戶端,再次連接時(shí)需要提供用戶名和密碼:
mongo -u admin -p password --authenticationDatabase admin
總結(jié)
通過以上步驟,我們詳細(xì)介紹了在Ubuntu 18上安裝與配置MongoDB數(shù)據(jù)庫的過程。從系統(tǒng)準(zhǔn)備、導(dǎo)入GPG密鑰、添加軟件源、安裝MongoDB,到配置MongoDB、啟動和管理服務(wù)、連接和測試數(shù)據(jù)庫,以及進(jìn)行安全配置等方面都進(jìn)行了全面的闡述。希望本文能夠幫助你順利在Ubuntu 18上安裝和配置MongoDB數(shù)據(jù)庫,并為你的項(xiàng)目提供強(qiáng)大的數(shù)據(jù)存儲支持。