今天接著安裝mongodb8.0,要安裝新版本的mongodb建議參考此篇文章,詢問ChatGPT給出的教學只到7.0版本的,一直說8.0還未推出,但從mongodb官網可以看到它預設安裝已經是以8.0版本為主。
前兩篇已經安裝nodejs、nginx、redis
mongodb 8.0安裝流程
匯入 MongoDB 公開 GPG 金鑰
curl -fsSL https://pgp.mongodb.com/server-8.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor
建立 MongoDB APT 套件來源
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
更新並安裝 MongoDB
sudo apt update
sudo apt install -y mongodb-org
啟動並設為開機自動啟動
sudo systemctl start mongod
sudo systemctl enable mongod
驗證與檢察mongodb狀態
mongod --version
sudo systemctl status mongod
狀態顯示active表示運作中
讓mongodb允許遠端連線
預設只讓本機localhost連線mongodb,要修改成可以遠端連線,需要進入到conf內修改
進入配置檔
sudo nano /etc/mongod.conf
將
net: port: 27017 bindIp: 127.0.0.1
當中的bindIp改成
bindIp: 0.0.0.0
註. 0.0.0.0 表示所有IP都可以連,要只允許特定IP則輸入特定IP
設定防火牆,允許mongodb的port
sudo ufw allow 27017
接著重啟mongodb就可以了
sudo systemctl restart mongod
替mongodb設定密碼
跟redis一樣,mongodb安裝完畢,默認是沒有密碼的,誰都可以連。因此一定要設定個密碼,免得被人惡意存取,即使這個專案是自己的私人服務器也務必設定密碼。
Windows、Mac可以使用MongoDB Compass來連線,或者終端機內使用mongosh。基本上流程是一樣的
在Mongosh使用
假如有改過port
mongosh --port 你改過的port
#範例
mongosh --port 27019
在MongoDB Compass使用
進入資料庫後,點Open MongoDB shell
後續流程都一樣,進入到admin
use admin
建立管理員帳號
db.createUser({ user: "admin", pwd: "你的密碼", roles: [ { role: "root", db: "admin" } ] })
成功的話,會返回{ok:1}
進入配置檔,啟用身分認證機制
sudo nano /etc/mongod.conf
找到
#security:
修改為
security: authorization: "enabled"
ctrl + o > enter > ctrl + x (保存+退出)
重新啟動mongodb
sudo systemctl restart mongod
用帳號密碼登入測試(mongosh)
mongosh -u admin -p --authenticationDatabase admin
系統會提示你輸入密碼,輸入剛才設定的密碼即可。 -u 你的帳號
Compass 登入設定範例
mongodb://{帳號}:{密碼}@{你的服務器IP}:{port}/?authSource=admin
範例
mongodb://admin:mySecurePassword123@localhost:27017/?authSource=admin
文章轉載或引用,請先告知並保留原文出處與連結!!(單純分享或非營利的只需保留原文出處,不用告知)
原文連結:
https://blog.aidec.tw/post/ubuntu2404-install-mongodb-8
若有業務合作需求,可寫信至: opweb666@gmail.com
創業、網站經營相關內容未來將發布在 小易創業筆記