簡體   English   中英

如何進行mongodb的簡單備份和遷移

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM