2015-01-05 4 views
0

Я пытаюсь восстановить сбрасываемый db на локальный сервер, но он не работает.mongorestore сбой при пустом system.js.bson

Чтобы сделать дамп я бегу:
mongodump --host somehost.com -d app123 --port 10043 --username my_username --password my_password --out /tmp/mongodump
и она отлично работает.

Для восстановления я бегу:
mongorestore --db my_db --drop /tmp/mongodump/app123
и он не на пустом файле:

2015-01-05T12:56:47.759+0100 /tmp/mongodump/app123/system.js.bson 
2015-01-05T12:56:47.759+0100 going into namespace [my_db.system.js] 
file /tmp/mongodump/app123/system.js.bson empty, skipping 
2015-01-05T12:56:47.759+0100 Creating index: { key: { _id: 1 }, ns: "my_db.system.js", name: "_id_" } 
2015-01-05T12:56:47.803+0100 DBClientCursor::init call() failed 
assertion: 10276 DBClientBase::findN: transport error: 127.0.0.1:27017 ns: my_db.$cmd query: { getlasterror: 1 } 

Если удалить систему * из дампа, то mongorestore работает без каких-либо ошибок..

+0

Это не вопрос программирования. Вопросы, связанные с администрированием и конфигурацией базы данных, относятся к [dba.stackexchange.com] (http://dba.stackexchange.com). StackOverflow - это сайт для программирования вопросов. –

ответ

1

Я думаю, что это связано с индексом _id_. Попробуйте удалить или переименовать это, затем выполните еще mongodump и посмотрите, работает ли это.

У меня была аналогичная проблема, и это было связано с индексом. Я не могу вспомнить, удалил ли я индекс или переименовал его. Таким образом, это может быть до символов подчеркивания, и в этом случае переименование его должно работать. Или, может быть, что-то испорчено в индексе, и в этом случае его удаление является вашим единственным вариантом.

+0

Я пытаюсь переименовать или удалить индекс system.js/_id_ на удаленном сервере, но индекс остается неизменным. Я использую клиент Robomongo, и никаких эффектов нет. В журнале есть ошибка: 'dropIndex failed' – oluckyman

+0

Попробуйте удалить индексный файл из каталога mongodump и посмотреть, импортируется ли он. Если это так, это определенно связано с этим индексом. Если вы не можете удалить индекс, он может быть использован. Мы вникаем в специфику вашей реализации здесь, поэтому будет трудно дать соответствующую и точную поддержку. –

+0

Удаляет файл 'system.js.metadata.json' (который сохраняет индекс) решает проблему. – oluckyman