我有一个MongoDB数据库驻留在本地网络上IP地址为192.168.1.20的远程服务器上.出于开发和测试的目的,并且由于出于安全目的,我不允许在服务器上修改或删除数据库,因此我想在本地计算机上复制数据库以供个人使用.
任何人都可以告诉我,我怎么做到这一点?
有复制数据库命令,我想应该适合您的需要.
db.copyDatabase("DATABASENAME", "DATABASENAME", "localhost:27018");
或者,您可以停止MongoDb,将数据库文件复制到另一台服务器并在那里运行MongoDb实例.
我通过创建远程数据库到我的本地计算机的转储来执行此操作,然后我将其还原:
确保你有一个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替换为您希望新的本地数据库具有的名称)