使用 mongodump 備份我的 MongoDB 時獲取空文件夾
基本上,我在使用
mongodump
備份我的 MongoDB 時遇到了問題。這是我在 SSH 中使用的一般語法:
mongodump -d myDatabaseName -o ~/backups/my_backup
這是結果消息:
Fri Apr 22 20:39:57.304 DATABASE: myDatabaseName to /root/backups/my_backup/myDatabaseName
這只會生成一個空白文件夾,其中沒有任何文件。實際的數據庫相當大,所以不確定發生了什麼。
我還想補充一點,我的 mongodump 客戶端和我的 MongoDB 版本都是相同的(版本 2.4.9)。
不知道如何解決這個問題。任何幫助表示讚賞。
我在 Ubuntu 中使用了預設的 mongodb-client deb 包。我刪除了這些並從 mongodb.com https://docs.mongodb.com/master/tutorial/install-mongodb-on-ubuntu/?_ga=2.36209632.1945690590.1499275806-1594815486.1499275806安裝了 mongodb-org-tools 包
如果您不在 Ubuntu https://www.mongodb.com/download-center?jmp=nav#community上,他們會為您的特定作業系統提供其他安裝說明
根據 MongoDB BOL Here Backup a Database with
mongodump
Exclude local Databasemongodump excludes the content of the local database in its output.
所需訪問權限
要針對啟用了訪問控制的 MongoDB 部署執行 mongodump ,您必須具有為每個要備份的數據庫授予查找操作的權限。內置備份角色提供了執行任何和所有數據庫備份所需的權限。
在 3.2.1 版更改: 備份角色提供了額外的權限來備份system.profile與數據庫分析一起執行時存在的集合。以前,使用者需要對此集合具有額外的讀取權限。
mongodump實用程序通過連接到正在執行的mongod或mongos實例來備份數據。
該實用程序可以為整個伺服器、數據庫或集合創建備份,或者可以使用查詢僅備份集合的一部分。
當您執行不帶任何參數的 mongodump 時,該命令將連接到本地系統(例如
127.0.0.1
或 localhost)上的 MongoDB 實例的埠,27017
並創建一個名為dump/
.current directory
要從執行在同一台機器和預設埠 27017 上的 mongod 或 mongos 實例備份數據,請使用以下命令:
mongodump
mongodump
fromversion 2.2
或更高版本使用的數據格式incompatible
與早期版本的mongod
. 不要使用最新版本的mongodump
toback up older data stores
。您還可以指定應該連接到的實例的
--host
和。例如:--port``MongoDB``mongodump
mongodump --host mongodb.example.net --port 27017
要指定不同的輸出目錄,可以使用
--out
or-o
選項:mongodump --out /data/backup/
要限制數據庫轉儲中包含的數據量,您可以指定 –db
--collection
和mongodump
. 例如:mongodump --collection myCollection --db test
此操作在目前工作目錄
myCollection
的 a 中創建從數據庫 test命名的集合的轉儲。dump/ subdirectory
mongodump
如果備份數據文件夾中存在輸出文件,則覆蓋它們。在多次執行 mongodump 命令之前,請確保您不再需要輸出文件夾中的文件(預設為dump/ folder
)或重命名文件夾或文件。