몽고디비
高洛峰
高洛峰 2017-04-27 09:02:59
0
1
616

안녕하세요 여러분, 다음 날 mongo를 시작할 때 mongodb에 저장된 데이터가 mongod.lock을 삭제한 다음 모든 데이터가 손실된 이유는 무엇입니까?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(1)
黄舟

솔루션

먼저 mongod.lockmongo 서버가 시작된 후 하드디스크에 생성되는 잠금 파일입니다. mongod 서비스를 정상적으로 종료하시면 해당 파일이 존재하더라도 다음 서비스에는 영향을 주지 않습니다. 스타트업 mongod 서비스. 동시에 이 파일은 작동 중 mongod의 일부 상태도 기록하므로 서비스가 정상적으로 다시 시작될 때 예외 정보 프롬프트를 얻을 수 있습니다.

참고: 일반적으로 mongod 파일은 mongod.lock 서비스를 비정상적으로 종료한 경우에만 삭제하면 됩니다. 정상적으로 종료되므로 삭제할 필요가 없습니다.

이제 데이터가 손실되었으니 비정상적으로 종료되어야 합니다. 즉, 데이터베이스가 충돌하는 것입니다. 开启journal이 없으면 데이터의 무결성을 보장할 방법이 없습니다.

그래서 일반적으로 开启journal 프로덕션 환경에서는 그렇습니다.

데이터가 백업되지 않은 경우 mongod에 내장된 복구만 사용할 수 있습니다. mongod--repair 옵션을 실행하세요.

으아악

mongod.lock 파일을 삭제하시겠습니까?

mongod가 정상적으로 종료되면 mongod.lock 파일이 지워집니다. 다음에 다시 시작하면 지난번에 완전히 종료되었음을 알 수 있습니다. 반대로 잠금 파일이 지워지지 않으면 mongod는 정상적으로 종료되지 않습니다.

mongod가 정상적으로 종료되지 않은 것을 감지하면 다시 시작할 수 없게 되며, 시작 시 마지막 비정상 종료에 대한 정보를 인쇄하고 데이터를 복사하도록 요구합니다. 그러나 일부 사람들은 잠금 파일을 삭제하면 이 검사를 우회할 수 있다는 것을 깨달았습니다. 그래서 이 파일을 삭제한 이유가 있습니다. 시작 시 잠금 파일을 삭제하면 데이터가 손상되었는지 알 수 없거나 신경 쓰지 않는다는 의미입니다. mongod를 시작할 수 없는 경우 잠금 파일을 삭제하는 대신 데이터를 복구하십시오.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿