MongoDB: 入門指南
如何開始使用 MongoDB
連接到您的 MongoDB 伺服器
要使用 Mongo CLI 連接到您的 MongoDB 實例,您可以使用以下命令:
mongo --quiet mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true
例如,如果您想以 admin 用戶身份連接到 admin 資料庫,您可以運行:
mongo --quiet mongodb://admin:<password>@<XXXXXX>.stackhero-network.com:27017/admin?tls=true
如果您的系統上未安裝 Mongo CLI,您可以從官方 MongoDB 文件下載。或者,如果您的系統上有 Docker,您可能會覺得這個命令有用:
docker run -it mongo /bin/bash
在 MongoDB 中創建資料庫和用戶
為了提高安全性並確保更好的組織,建議為每個資料庫創建唯一的用戶。以下是一個創建新用戶的範例腳本:
db.getSiblingDB("myDatabase")
.createUser({
user: "myUser",
pwd: "myPassword",
roles: [ { role: "readWrite", db: "myDatabase" } ],
passwordDigestor: "server"
});
上述腳本創建了一個名為 myUser 的用戶,密碼為 myPassword,並授予他們對 myDatabase 資料庫的讀寫權限。
警告 確保您在執行用戶創建操作時以
admin用戶身份連接。
在 MongoDB 中刪除用戶
要從 myDatabase 資料庫中刪除用戶,例如 myUser,您可以執行以下命令:
db.getSiblingDB("myDatabase").dropUser("myUser");
備份 MongoDB 數據
要備份您的 MongoDB 數據,您可以使用以下命令:
mongodump --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"
如果您遇到如下錯誤:
authentication failed for admin on <database> from client <ip>; UserNotFound: Could not find user admin@<database>
這可能是因為 admin 用戶未註冊到指定的資料庫。添加 --authenticationDatabase=admin 選項可能會解決此問題:
mongodump --authenticationDatabase=admin --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"
要進行壓縮備份,您可以包含 --gzip 選項:
mongodump --gzip --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"
疑難排解
解決錯誤 Use of SCRAM-SHA-256 requires undigested passwords
當嘗試通過 Admin Mongo UI 創建用戶時,可能會出現此錯誤。為避免此情況,請使用在 MongoDB 中創建資料庫和用戶部分中提供的 Mongo 查詢。
注意:Admin Mongo UI 不支持直接查詢執行。相反,您可以考慮使用 Mongo CLI(了解更多)或 GUI 工具如 Robo 3T(查看配置指南)。