我正在尝试将Nginx托管的生产服务器中的数据库[mongodb]复制到本地开发环境设置[linux计算机]。
我尝试了以下网址中给出的解决方案 How do I copy a database from one MongoDB server to another?
但是当我建立ssh隧道并尝试复制时,出现以下错误
db.copyDatabase("admin","testadmin","localhost:27018")
{
"ok" : 0,
"errmsg" : "couldn't connect to server localhost:27018, connection attempt failed"
}
如果我尝试直接在目标服务器中复制数据库。我收到以下错误
db.copyDatabase("admin","testadmin","mongodb://<remotehostname>:27017")
{
"operationTime" : Timestamp(1545126863, 1),
"ok" : 0,
"errmsg" : "Must specify set name for replica set ConnectionStrings",
"code" : 9,
"codeName" : "FailedToParse",
"$clusterTime" : {
"clusterTime" : Timestamp(1545126863, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
请帮助。我被问题困扰了两天。我不确定是否可以使用mongodump和还原。我在远程服务器上使用mongo 3.4版,在本地服务器上使用mongo 3.6版。这可能是个问题吗?
我也尝试添加副本集,但出现以下错误。如何找到副本集名称?
db.copyDatabase("admin","testadmin","mongodb://<remotehostname>:27017/?replicaSet=test")
{
"operationTime" : Timestamp(1545117923, 135),
"ok" : 0,
"errmsg" : "Bad digit \"/\" while parsing 27017/?replicaSet=test",
"code" : 9,
"codeName" : "FailedToParse",
"$clusterTime" : {
"clusterTime" : Timestamp(1545117923, 135),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}