AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

db.shutdownServer() (mongosh 메서드)

버전 5.0에서 변경되었습니다.

db.shutdownServer()

현재 mongod 또는 mongos 프로세스 깔끔하고 안전하게 종료합니다.관리 db.shutdownServer()데이터베이스 에 대해 작업을 실행해야 합니다.

db.shutdownServer() 에는 다음 구문이 있습니다.

db.shutdownServer({
force: <boolean>,
timeoutSecs: <int>
})

이 메서드는 다음과 같은 필드를 사용합니다.

필드
설명

선택 사항. mongod 또는 mongos 강제로 종료하려면 true로 지정합니다. 강제 종료는 mongod 또는 mongos에서 진행 중인 모든 작업을 중단하며, 예기치 않은 동작을 초래할 수 있습니다.

을(를) 사용하여 진행 중인 인덱스 빌드를 일시 중지했다가 다시 시작할 수 force 있습니다. 자세한 내용은 db.shutdownServer() 복제본 세트 멤버에 대한 를 참조하세요.

선택 사항.

MongoDB 5.0부터 mongodmongos는 종료하기 전에 진행 중인 모든 데이터베이스 작업이 완료될 수 있도록 정지 기간을 입력합니다.

mongod 프라이머리가 종료 요청을 받으면 프라이머리는 다음을 수행합니다.

  1. 세컨더리로 단계를 낮추려고 시도합니다.

    강등이 실패하는 경우

    • shutdown또는db.shutdownServer()명령이 실행 된 경우mongod는 강제 필드 true인 경우에만 종료 단계를 계속합니다.

    • SIGTERM 신호가 mongod로 전송되고, mongod 는 항상 종료 단계를 계속합니다.

  2. 휴지기에 들어갑니다.

  3. 남은 모든 데이터베이스 작업을 종료합니다.

  4. 종료합니다.

mongod 세컨더리 또는 mongos 종료 요청의 경우, 종료가 요청된 후 정지 기간이 입력됩니다.

정지 기간은 다음과 같이 지정됩니다.

클라이언트는 종료되는 mongod 또는 mongos에 대해 새 연결을 열 수 없습니다.

timeoutSecs는 초 단위로 기간을 지정합니다. 기본값은 다음과 같습니다.

  • MongoDB 5.0에서 15초.

  • MongoDB 5.0 이전 버전에서는 10초입니다.

mongod는 다음과 같이 timeoutSecs을 사용합니다.

  • 현재 노드가 복제본 세트의 프라이머리 노드인 경우 mongod는 프라이머리 노드가 물러나기 전에 투표 선택 가능 노드가 따라잡을 수 있도록 timeoutSecs 필드에 지정된 시간(초)까지 대기합니다. 따라잡기 시간에 대한 자세한 내용은 복제 지연을 참조하세요.

  • 프라이머리에서 물러난 후 현재 노드가 SECONDARY 상태인 경우, 기존 작업을 완료할 수 있는 정지 기간으로 timeoutSecs에 지정된 남은 시간이 사용됩니다. 새 작업은 다른 복제본 세트 노드로 전송됩니다.

MongoDB 5.0 부터 는 기존 작업을 완료할 수 있는 정지 기간으로mongos timeoutSecs를 사용합니다. 새 작업은 다른 노드로 전송됩니다. 이전의 MongoDB mongos 버전 5 에서는 가 즉시 종료되고0 mongos timeoutSecs를 사용하지 않습니다.

이 작업은 shutdown 명령 주위에 래퍼(wrapper)를 제공합니다.

이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

중요

이 명령은 MongoDB Atlas 클러스터에서 지원되지 않습니다. 모든 명령에 대한 Atlas 지원에 관해 자세히 알아보려면 지원되지 않는 명령을 참조하세요.

mongod 자체 관리 배포서버에서 인증으로 시작한 의 경우 인증된 연결을 통해 db.shutdownServer() 를 실행 해야 합니다. 자세한 내용은 액세스 제어를 참조하세요.

자체 관리 mongod 배포서버에서 인증 없이 시작된 의 경우 로컬 호스트 인터페이스에 연결된 클라이언트 db.shutdownServer() --host "127.0.0.1" 에서 를 실행 mongosh 해야 합니다. 예시 들어 과 동일한 호스팅하다 머신에서 mongod 옵션을 사용하여 를 실행 .

mongod복제본 세트 멤버가 인덱스 빌드와 같은 특정 작업을 실행 경우db.shutdownServer()가 실패합니다. force: true를 지정하여 인덱스 빌드 진행 상황을 디스크에 저장할 수 있습니다. mongod는 다시 시작될 때 인덱스 빌드 복구하고 저장된 체크포인트 부터 계속 진행합니다.

MongoDB 5.0부터 mongodmongos는 종료하기 전에 진행 중인 모든 데이터베이스 작업이 완료될 수 있도록 정지 기간을 입력합니다.

mongod 프라이머리가 종료 요청을 받으면 프라이머리는 다음을 수행합니다.

  1. 세컨더리로 단계를 낮추려고 시도합니다.

    강등이 실패하는 경우

    • shutdown또는db.shutdownServer()명령이 실행 된 경우mongod는 강제 필드 true인 경우에만 종료 단계를 계속합니다.

    • SIGTERM 신호가 mongod로 전송되고, mongod 는 항상 종료 단계를 계속합니다.

  2. 휴지기에 들어갑니다.

  3. 남은 모든 데이터베이스 작업을 종료합니다.

  4. 종료합니다.

mongod 세컨더리 또는 mongos 종료 요청의 경우, 종료가 요청된 후 정지 기간이 입력됩니다.

정지 기간은 다음과 같이 지정됩니다.

클라이언트는 종료되는 mongod 또는 mongos에 대해 새 연결을 열 수 없습니다.

timeoutSecs는 초 단위로 기간을 지정합니다. 기본값은 다음과 같습니다.

  • MongoDB 5.0에서 15초.

  • MongoDB 5.0 이전 버전에서는 10초입니다.

mongod는 다음과 같이 timeoutSecs을 사용합니다.

  • 현재 노드가 복제본 세트의 프라이머리 노드인 경우 mongod는 프라이머리 노드가 물러나기 전에 투표 선택 가능 노드가 따라잡을 수 있도록 timeoutSecs 필드에 지정된 시간(초)까지 대기합니다. 따라잡기 시간에 대한 자세한 내용은 복제 지연을 참조하세요.

  • 프라이머리에서 물러난 후 현재 노드가 SECONDARY 상태인 경우, 기존 작업을 완료할 수 있는 정지 기간으로 timeoutSecs에 지정된 남은 시간이 사용됩니다. 새 작업은 다른 복제본 세트 노드로 전송됩니다.

MongoDB 5.0 부터 는 기존 작업을 완료할 수 있는 정지 기간으로mongos timeoutSecs를 사용합니다. 새 작업은 다른 노드로 전송됩니다. 이전의 MongoDB mongos 버전 5 에서는 가 즉시 종료되고0 mongos timeoutSecs를 사용하지 않습니다.

경고

프라이머리 계정을 강제 종료하면 아직 세컨더리 계정으로 복제되지 않은 모든 쓰기가 롤백될 수 있습니다.

자체 관리 배포서버에서 인증을 db.shutdownServer() mongod 시행하는 에서 를 실행 하려면 인증된 사용자에게 db.shutdownServer() 권한 있어야 합니다. 예시 를 들어 내장 역할 을 가진 사용자에게는 hostManager 적절한 권한이 있습니다.

db.getSiblingDB("admin").shutdownServer()
db.getSiblingDB("admin").shutdownServer({ "force" : true })
db.getSiblingDB("admin").shutdownServer({ "timeoutSecs": 60 })
이 페이지 평가하기