MongoDB 是一款開源的 NoSQL 數(shù)據(jù)庫,它采用面向文檔的存儲方式,具有高可擴展性、高性能以及靈活的數(shù)據(jù)模型,廣泛應(yīng)用于現(xiàn)代 Web 應(yīng)用程序中。為了在 CentOS 系統(tǒng)上順利安裝和使用 MongoDB,本文將為您提供詳細的安裝步驟。無論是使用 CentOS7 還是 CentOS8,本文的步驟都適用。
一、準備工作
在開始安裝 MongoDB 之前,確保您的 CentOS 系統(tǒng)已安裝并更新到最新版本。打開終端并運行以下命令更新系統(tǒng):
sudo yum update -y
這將更新系統(tǒng)中的所有軟件包,并確保您的系統(tǒng)處于最新狀態(tài)。另外,建議您在安裝過程中使用具有管理員權(quán)限的用戶(如 root 用戶)執(zhí)行操作。
二、安裝 MongoDB 官方 YUM 倉庫
MongoDB 提供了官方的 YUM 倉庫來簡化 CentOS 系統(tǒng)上的安裝過程。您需要先將 MongoDB 的官方倉庫添加到您的 YUM 配置中。首先,下載并安裝 MongoDB 的官方倉庫文件:
echo "[mongodb-org-6.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/6.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo
此命令會將 MongoDB 官方倉庫的配置信息添加到您的系統(tǒng)中,確保您的 CentOS 系統(tǒng)能夠從 MongoDB 的源獲取安裝包。請注意,倉庫 URL 中的版本號(如 "6.0")可以根據(jù)您需要的 MongoDB 版本進行修改。
三、安裝 MongoDB
添加了 MongoDB 倉庫后,接下來可以通過 YUM 包管理工具安裝 MongoDB。使用以下命令安裝 MongoDB:
sudo yum install -y mongodb-org
上述命令會安裝 MongoDB 的完整軟件包,包括 MongoDB 服務(wù)器、客戶端工具和其他依賴包。安裝完成后,您可以使用以下命令確認 MongoDB 是否安裝成功:
mongod --version
如果安裝成功,系統(tǒng)會顯示 MongoDB 的版本信息。
四、啟動 MongoDB 服務(wù)
安裝完成后,您需要啟動 MongoDB 服務(wù)。MongoDB 默認使用 systemd 來管理服務(wù),因此可以使用以下命令啟動 MongoDB 服務(wù):
sudo systemctl start mongod
啟動 MongoDB 后,您可以使用以下命令檢查服務(wù)是否正在運行:
sudo systemctl status mongod
如果 MongoDB 正在正常運行,系統(tǒng)將顯示 MongoDB 服務(wù)的狀態(tài)信息,包括它的運行狀態(tài)和 PID。
五、設(shè)置 MongoDB 開機自啟動
為了確保 MongoDB 在系統(tǒng)重啟后能夠自動啟動,您需要將 MongoDB 配置為開機自啟動。使用以下命令啟用 MongoDB 服務(wù)的開機自啟:
sudo systemctl enable mongod
這將確保 MongoDB 在每次系統(tǒng)啟動時自動啟動,避免手動啟動的麻煩。
六、防火墻配置
默認情況下,CentOS 系統(tǒng)啟用了防火墻。如果您希望遠程訪問 MongoDB,需要在防火墻中打開 27017 端口,這是 MongoDB 的默認端口。可以通過以下命令開放該端口:
sudo firewall-cmd --permanent --add-port=27017/tcp
執(zhí)行該命令后,記得重新加載防火墻配置以使改動生效:
sudo firewall-cmd --reload
完成后,您就可以通過遠程客戶端連接到 MongoDB 了。
七、配置 MongoDB 安全性
MongoDB 默認不啟用認證,這意味著任何人都可以連接到數(shù)據(jù)庫并執(zhí)行操作。為了提高 MongoDB 的安全性,建議啟用身份驗證功能。您可以通過以下步驟啟用 MongoDB 身份驗證:
1. 編輯 MongoDB 配置文件:
sudo nano /etc/mongod.conf
2. 在配置文件中找到以下行,并取消注釋(去掉前面的 #)并設(shè)置為 true:
security: authorization: "enabled"
3. 保存并退出編輯器。
4. 重啟 MongoDB 服務(wù)以使更改生效:
sudo systemctl restart mongod
啟用身份驗證后,您需要為 MongoDB 創(chuàng)建管理員用戶,以便進行身份驗證和數(shù)據(jù)庫操作。創(chuàng)建管理員用戶的步驟如下:
mongo
然后在 MongoDB shell 中執(zhí)行以下命令:
use admin
db.createUser({
user: "admin",
pwd: "password123",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})創(chuàng)建完管理員用戶后,您就可以使用該用戶進行身份驗證并訪問 MongoDB 數(shù)據(jù)庫了。
八、驗證安裝和連接 MongoDB
安裝完成并配置好 MongoDB 后,您可以使用 MongoDB 的客戶端工具進行連接驗證。在本地連接 MongoDB,您可以運行以下命令:
mongo
如果您啟用了身份驗證,則需要使用管理員用戶進行連接:
mongo -u admin -p password123 --authenticationDatabase admin
成功連接后,您可以使用 MongoDB shell 執(zhí)行各種操作,例如查看數(shù)據(jù)庫列表、添加數(shù)據(jù)等。
九、常見問題與故障排除
在安裝和使用 MongoDB 的過程中,可能會遇到一些常見問題,下面列出幾個常見的故障排除方法:
1. MongoDB 服務(wù)未啟動
如果您無法啟動 MongoDB 服務(wù),請檢查日志文件以獲取更多信息:
sudo journalctl -u mongod
通過日志可以查看 MongoDB 啟動失敗的原因,例如端口沖突或配置錯誤。
2. 防火墻問題
如果您無法遠程連接 MongoDB,請確保防火墻已經(jīng)正確配置并開放了 27017 端口。
3. 連接拒絕
如果在使用 MongoDB 客戶端連接時遇到“連接被拒絕”的錯誤,可能是因為 MongoDB 沒有監(jiān)聽正確的 IP 地址。您可以編輯 MongoDB 配置文件,確保 "bindIp" 設(shè)置為 0.0.0.0 或指定的外部 IP 地址。
bindIp: 0.0.0.0
修改后記得重啟 MongoDB 服務(wù):
sudo systemctl restart mongod
十、總結(jié)
通過本文的詳細步驟,您已經(jīng)學(xué)會了如何在 CentOS 系統(tǒng)上安裝、配置并啟動 MongoDB。在安裝過程中,務(wù)必確保正確設(shè)置防火墻、啟用身份驗證等安全措施,以保證 MongoDB 的穩(wěn)定運行和數(shù)據(jù)安全。無論是開發(fā)環(huán)境還是生產(chǎn)環(huán)境,MongoDB 都是一個強大且靈活的數(shù)據(jù)庫解決方案,能夠為現(xiàn)代應(yīng)用提供支持。