[英]How to do a simple backup and migration of mongodb
這讓我發瘋。
我只想將mongodb移至新計算機。
但是,當我嘗試執行mongodump --db margin_calls
,出現錯誤:
Failed: error dumping metadata: error creating directory for metadata file dump\\margin_calls: mkdir dump: Access is denied.
因此,我嘗試使用訪問控制。 我使用userAdminAnyDatabase
特權在admin數據庫上userAdminAnyDatabase
了一個用戶,然后以--auth
模式重新啟動mongod並啟動了mongo實例:
mongo -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
在文檔中說:
“ myUserAdmin用戶僅具有管理用戶和角色的特權。作為myUserAdmin,如果您嘗試執行任何其他操作,例如從測試數據庫的foo集合中讀取,MongoDB將返回錯誤。”
因此,然后繼續使我要備份的數據庫用戶的角色為:“ backup”
db.createUser({user: "loba", pwd: "abc123", roles: ["backup"]})
它只會引發此錯誤:
Error: couldn't add user: No role named backup@margin_calls :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.createUser@src/mongo/shell/db.js:1267:15
@(shell):1:1
我已經嘗試了好幾天,現在開始感到壓力很大,為什么我不能簡單地備份數據庫?
我在Windows 10上使用mongo 3.2
請嘗試以下操作: mongodb權限錯誤
您需要使用路徑指定--out選項
您面臨的訪問控制問題不是mongo訪問。 mongo進程無權在您的計算機中創建文件夾。 嘗試以超級用戶身份運行它。
須藤mongodump --db margin_calls
或更改目錄的所有者權限
sudo chown用戶:組元數據目錄
如果您的數據庫很大,請進行mongo 復制 。 它甚至可以對數據庫進行碎片整理,從而節省空間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.