mal*_*lla 28
我通过创建远程数据库到我的本地计算机的转储来执行此操作,然后我将其还原:
确保你有一个mongo实例启动并运行(例如,mongod.exe
从终端窗口中的bin文件夹运行.在我的Windows计算机上是C:\ mongodb\bin)
从远程数据库进行转储:打开一个新的终端窗口,再次移动到bin文件夹,运行:
mongodump -h example.host.com --port 21018 -d dbname --username username --password yourpass
(更改参数以适合您自己的情况.)
还原转储的数据库:转储完成后,运行以下命令以便拥有本地数据库:
mongorestore -d theNameYouWantForYourLocalDB dump\nameOfRemoteDB
(将nameOfRemoteDB替换为远程数据库的名称,与上一个命令相同,并将NameYouWantForYourLocalDB替换为您希望新的本地数据库具有的名称)
有复制数据库命令,我想应该适合您的需要.
db.copyDatabase("DATABASENAME", "DATABASENAME", "localhost:27018");
Run Code Online (Sandbox Code Playgroud)
或者,您可以停止MongoDb,将数据库文件复制到另一台服务器并在那里运行MongoDb实例.
小智 5
这应该是对@malla 答案的评论,但我没有足够的声誉来发表评论,所以我将其发布在这里以供其他人参考。
在第 2 步中,当您尝试从远程服务器转储文件时,请记住添加 out 选项,以便您稍后可以在本地还原:(在我的第一次尝试中,我没有添加它并且它失败了,说 dump\db_name 是未找到)。我不确定我的方式是否有效。但它对我有用。
第2步:
mongodump -h example.host.com --port 21018 -d dbname --username username --password yourpass --out <path_you_want_to_dump>
Run Code Online (Sandbox Code Playgroud)
第 3 步:
mongorestore -d theNameYouWantForYourLocalDB \<path_you_want_to_dump> + nameOfRemoteDB
Run Code Online (Sandbox Code Playgroud)