#mongodb
#mongodb
Вопрос:
Я сбросил базу данных mongodb с помощью следующей командной строки mongodump
mongodump -h www.myhost.com -u myusername -p mypassword -d mydb > dump.bson
И я пытаюсь восстановить дамп на своем локальном сервере:
mongorestore -h localhost -d mydb dump.bson
К сожалению, он завершается ошибкой со следующей ошибкой:
assertion: 10264 invalid object size: 1096040772
Кто-нибудь знает, что может вызвать эту ошибку?
На обоих серверах версия mongo 1.8.3
Спасибо
Комментарии:
1. Являются ли обе 32/64-разрядные системы? Также может помочь сначала восстановить исходную базу данных перед сбросом.
2. локальный сервер имеет 64 бита, но удаленный, я пока не знаю. В противном случае я пробовал repairDatabase(), но ошибка та же…
3. Если это одни и те же биты, то, вероятно, лучше спросить в списке рассылки mongodb. Однажды у меня была эта ошибка в небольшой коллекции, и исправление сделало свое дело.
Ответ №1:
Поскольку первая строка, выводимая из mongodump
«включена блокировка уровня БД: 0»
Вам нужно сделать это
хвост -n 2 dump.bson > dump_fix.bson mongorestore -h localhost -d mydb dump_fix.bson
Комментарии:
1. интересно! Я попробую, спасибо за совет
2. В новой версии mongo (2.1 stable) это должно быть исправлено. См. github.com/mongodb/mongo/pull/204
Ответ №2:
извините за мой английский: P это случилось со мной, когда я экспортировал с помощью mongoexport и попытался импортировать с помощью mongorestore: D моя ошибка! мне пришлось использовать mongoimport. Помните: mongoexport / mongoimport и mongodump / mongorestore
я надеюсь, что это кому-то пригодится: P
Комментарии:
1. Это тоже было моей ошибкой сегодня вечером!
Ответ №3:
Я также столкнулся с этой проблемой. И, наконец, я обнаружил, что эта проблема была вызвана неправильным использованием команды mongodump.
Комментарии:
1. Привет @zwalker. Вероятно, было бы неплохо сообщить нам, какая команда и что вы сделали, чтобы ее исправить 🙂
2. Я бы согласился с @TarynEast.
Ответ №4:
мы используем mongo restore вместо mongodump
Ответ №5:
Это не очень хорошо объясняется нигде, что я нашел, но я нашел решение, которое сработало.
Я загрузил файл .tgz из mongolab, в котором содержались файлы .bson и .json. Я создал папку ~/dump на своем mac. Я скопировал все эти файлы .bson и .json в папку ~/dump, поэтому, например, у меня был ~/dump/users.bson .
Я выполнил эту команду в терминале:
mongorestore -h 127.0.0.1 -db <the_db_name_on_server_this_backup_is_from>
Он импортируется за считанные секунды. Я уверен, что есть другие способы / варианты, но это то, что сработало для меня.