我采用了mongodump(它有效):
time_millis=$(node -e 'console.log(Date.now())');
cd $HOME && mkdir -p "mongodump_dev/${time_millis}" \
&& mongodump --host "our-host" --port 12345 \
--username "admin" --password "xyz" \
--out "$HOME/mongodump_dev/${time_millis}" --db cdt_db --authenticationDatabase admin
我得到一个如下所示的目录结构:
cd "$HOME/mongodump_dev/${time_millis}" && ls -a
. WiredTiger.turtle cdt_db index-1-110924868143086153.wt mongod.lock
.. WiredTiger.wt collection-0-110924868143086153.wt index-3-110924868143086153.wt sizeStorer.wt
WiredTiger WiredTigerLAS.wt collection-2-110924868143086153.wt index-4-110924868143086153.wt storage.bson
WiredTiger.lock _mdb_catalog.wt diagnostic.data journal
然后我开始对这个目录启用mongod:
mongod --dbpath "$HOME/mongodump_dev/1506468317809"
mongod成功启动并且目录路径有效(否则mongod会出来)但是mongod没有获取该目录中的任何数据,我看到的唯一数据是:
> show dbs
admin 0.000GB
local 0.000GB
我做错了什么?
答案 0 :(得分:1)
转储位置中的数据只是一个转储,与--dbpath
位置中的数据不同。 mongodump
实用程序允许您通过将数据转储到文件夹来备份数据。您不能将转储位置用作mongod
的数据文件夹。您需要首先使用干净的mongod
文件夹运行--dbpath
实例,然后使用mongorestore
实用程序在此运行的mongod实例上加载转储的数据。