Я пытаюсь скопировать базу данных [mongodb] на производственном сервере, размещенном в nginx, в мою локальную настройку среды разработки [машина linux].
Я попробовал решение, приведенное в следующем URL-адресе Как скопировать базу данных с одного сервера MongoDB на другой?
Но когда я устанавливаю 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 и восстановить.Я использую версию 3.4 на своем удаленном сервере и версию 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)
}
}
}