2015-01-05 1 views
0

덤프 된 db를 로컬 서버로 복원하려하지만 실패합니다. mongorestore가 empty 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을 시도하고 올바르게 작동하는지 확인하십시오.

나는 한 번 비슷한 문제가 있었는데 색인과 관련이있었습니다. 색인을 삭제했는지 또는 이름을 변경했는지 기억이 안납니다. 그래서 언더 스코어 (underscores)가 될 수 있습니다. 또는 인덱스에서 손상된 부분이있을 수 있습니다.이 경우 인덱스를 삭제하는 것이 유일한 옵션입니다.

+0

원격 서버에서 system.js/_id_ 인덱스의 이름을 바꾸거나 삭제하려하지만 색인은 변경되지 않습니다. Robomongo 클라이언트를 사용하고있어 아무런 효과가 없습니다. 로그에 오류가 있습니다 :'dropIndex failed' – oluckyman

+0

mongodump 디렉토리에서 색인 파일을 삭제하고 가져 오기를 시도하십시오. 그것은 분명히 그 색인과 관련이 있습니다. 인덱스를 삭제할 수 없으면 잘 사용 중일 수 있습니다. 여기서 구체적인 구현 방법에 대해 알기 때문에 관련성 있고 정확한 지원을 제공하기가 어려울 것입니다. –

+0

색인을 저장하는'system.js.metadata.json' 파일을 삭제하면 문제가 해결됩니다. – oluckyman