Я пытаюсь скопировать базу данных [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 и восстановить. Я использую 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)
}
}
}
Альтернативой, вероятно, было бы использование mongoDump / mongorestore.
https://stackoverflow.com/a/22201759/5107937
? Я не уверен, что понимаю, но ... если это конфигурация по умолчанию, как я предполагаю. вам просто нужно, чтобы ваше приложение запустилось, затем введите команду: mongodump -h 127.0.0.1 --port 3001 -d meteor, как описано в ссылке, которую я написал. Это создаст папку дампа в вашем приложении.
Я не могу этого сделать, так как мой mongodb в dev является частью метеора. Я не могу установить монго отдельно. Есть ли другой способ?