[MONGODB] 하나의 명령에 MongoDB를 중지하는 방법
MONGODB하나의 명령에 MongoDB를 중지하는 방법
나는 시작 / CLI에 MongoDB를 중지 할 수 있어야합니다. 시작하는 것은 매우 간단하다 :
그러나 MongoDB를 중지, 내가 먼저 개방 몽고 쉘을 실행 한 다음 두 명령을 입력해야합니다
그래서 한 줄에 MongoDB를 중지하는 방법을 모르겠어요. 어떤 도움?
해결법
-
==============================
1.시작 및 MongoDB를가 MongoDB를 설명서에 포함되어 중지. 그것은 쉘, CLI를 통해 MongoDB를 중지의 다양한 옵션을 설명하고, 드라이버 등 또한 다른 강제 종료 신호에 대한 (예 : 데이터 손상 등) 잘못 중지하여 MongoDB의 위험과 대화를 자세히 설명합니다.
시작 및 MongoDB를가 MongoDB를 설명서에 포함되어 중지. 그것은 쉘, CLI를 통해 MongoDB를 중지의 다양한 옵션을 설명하고, 드라이버 등 또한 다른 강제 종료 신호에 대한 (예 : 데이터 손상 등) 잘못 중지하여 MongoDB의 위험과 대화를 자세히 설명합니다.
당신이 다음 MongoDB를 중지 할 수 있습니다 우분투 나 데비안의 패키지 관리자를 사용하여 MongoDB를 설치 한 경우 다음과 같이 또한, (이전 mongod) :
또는 Mac OS X에
또는 레드햇 기반 시스템 :
또는 Windows에서 당신은 MongoDB를라는 이름의 서비스로 설치 한 경우 :
(윈도우 7 + 현재) 서비스로 설치되지 않은 경우 그리고 당신은 실행할 수 있습니다 :
예기치 않은 종료 후 데이터를 복구 : 가장 피하고 같은 시나리오 어떤 부정한 종료의 경우에 할를 참조하십시오 어떻게 부정 종료의 문제에 대한 자세한 내용은.
-
==============================
2.당신은 말 그대로 원래의 질문에 명령에 한 줄 상당하려면 별칭을 수 :
당신은 말 그대로 원래의 질문에 명령에 한 줄 상당하려면 별칭을 수 :
몽고 --eval "db.getSiblingDB ( '관리자'). shutdownServer ()"
시작 서비스를 통해 MongoDB를 중지에 대한 마크의 대답은 전형적인 (권장) 관리 방법입니다.
-
==============================
3.mongod --dbpath / 경로 /로 / 당신의 / DB --shutdown
mongod --dbpath / 경로 /로 / 당신의 / DB --shutdown
공식에서 더 많은 정보 : http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/
-
==============================
4.서버는 단말기의 전경 처리로서 실행되는 경우, 이는 누름으로써 행해질 수있다
서버는 단말기의 전경 처리로서 실행되는 경우, 이는 누름으로써 행해질 수있다
Ctrl-C
실행중인 서버 다운 완전히 차단하는 또 다른 방법은 종료 명령을 사용하는 것입니다,
> use admin > db.shutdownServer();
그렇지 않으면, 죽과 같은 명령을 보내는 데 사용할 수 있습니다 신호. mongod는 PID로 10014이있는 경우, 명령이 될 것입니다
kill -2 10014
-
==============================
5.나는 신호를 중지 공식 MongoDB의 문서를 따랐다. 사용할 수있는 다음 명령 (PID는 mongod 프로세스의 프로세스 ID를 나타냅니다) 중 하나 :
나는 신호를 중지 공식 MongoDB의 문서를 따랐다. 사용할 수있는 다음 명령 (PID는 mongod 프로세스의 프로세스 ID를 나타냅니다) 중 하나 :
kill PID
이는 신호 (15) (SIGTERM)을 보내거나
kill -2 PID
이는 신호 2 (SIGINT)를 전송한다.
하나 개 이상의 인스턴스가 실행이 있거나 PID 걱정하지 않는 경우, 실행중인 모든 mongod 프로세스에 신호를 보내 pkill에 사용할 수 있습니다 :
pkill mongod
또는
pkill -2 mongod
또는, 훨씬 더 안전하고, 만에 속하는 프로세스 :
pkill -U $USER mongod
또는
pkill -2 -U $USER mongod
추신 참고 : 현재 MongoDB를 문서에서 언급하지만, 호기심 내 컴퓨터 작업을하지 않는 mongod --shutdown 때문에,이 옵션에 의존 (맥 OS, MongoDB를 v3.4.10, 사제와 함께 설치) 구문 분석 명령 줄 오류 : 알 수없는 옵션 '--shutdown'
PPS 사람의 불가사의 전 (맥 OS의 특정) : 아니, 내가 명령을 막을 수 없다 BREW 서비스 정지 MongoDB를 나는 그것을 시작하지 않았기 때문에 BREW 서비스는 MongoDB를 시작합니다. 나는 사용자 지정 명령 줄 mongod를 시작했다 :-)
-
==============================
6.사용 --shutdown mongod
사용 --shutdown mongod
공식 문서에 따르면 관리 - MongoDB를-프로세스를 /
:디
-
==============================
7.시작하거나 명령 줄을 사용하여 MongoDB 서비스를 중지하는 한 라이너;
시작하거나 명령 줄을 사용하여 MongoDB 서비스를 중지하는 한 라이너;
나는이 작업을 수행,이에게 자신을 사용합니다.
-
==============================
8.mongostop.bat라는 파일을 생성
mongostop.bat라는 파일을 생성
거기에 다음 코드를 저장
mongo admin --eval "db.shutdownServer()"
파일 mongostop.bat을 실행하고 성공적으로 몽고이 중지
-
==============================
9.내 특별한 경우입니다 :
내 특별한 경우입니다 :
이전 mongod를하여 시작 :
sudo -u mongod mongod -f /etc/mongod.conf
지금, mongod를 중지합니다.
공식 문서 정지 mongod 프로세스를 참조 노력하고 있습니다 :
(1) shutdownServer하지만 실패 :
> use admin switched to db admin > db.shutdownServer() 2019-03-06T14:13:15.334+0800 E QUERY [thread1] Error: shutdownServer failed: { "ok" : 0, "errmsg" : "shutdown must run from localhost when running db without auth", "code" : 13 } : _getErrorWithCode@src/mongo/shell/utils.js:25:13 DB.prototype.shutdownServer@src/mongo/shell/db.js:302:1 @(shell):1:1
(2) 여전히 실패 --shutdown :
# mongod --shutdown There doesn't seem to be a server running with dbpath: /data/db
(3) 이전 시작 명령은 --shutdown 추가 :
sudo -u mongod mongod -f /etc/mongod.conf --shutdown killing process with pid: 30213 failed to kill process: errno:1 Operation not permitted
(4) 사용 서비스를 중지합니다 :
service mongod stop
과
service mongod status
활성 예상 순위 : (죽은) 비활성하지만 PS에서 과정을 볼 수에 대해 실제로 여전히 실행 mongod :
# ps -edaf | grep mongo | grep -v grep root 30213 1 0 Feb04 ? 03:33:22 mongod --port PORT --dbpath=/var/lib/mongo
그리고 마지막으로, 정말 mongod를 들러 :
# sudo mongod -f /etc/mongod.conf --shutdown killing process with pid: 30213
지금까지, 근본 원인 : 아직 알 수 ...
솔루션 위의 희망은 유용합니다.
-
==============================
10.주어진 명령에서 나는 당신이 리눅스에있어 생각합니다.
주어진 명령에서 나는 당신이 리눅스에있어 생각합니다.
시작 MongoDB를 :
$ sudo service mongod start mongod start/running, process XXXXX
상태를 확인합니다 :
$ sudo service mongod status mongod start/running, process XXXXX
정지 MongoDB를 :
$ sudo service mongod stop mongod stop/waiting
-
==============================
11.나는 간단했다 :
나는 간단했다 :
떠나다();
나는 몽고 3.0을 사용하고 있습니다.
몽고
-
==============================
12.당신의 맥을 눌러 컨트롤의 터미널 창에서 + C
당신의 맥을 눌러 컨트롤의 터미널 창에서 + C
-
==============================
13.stennie의 대답에 건물 :
stennie의 대답에 건물 :
mongo --eval "db.getSiblingDB('admin').shutdownServer();quit()"
나는 서버가 지연 및 오류 메시지가 표시 될 것이다 종료 후 그 몽고가 DB에 다시 연결하려고했던 발견했다. 종료를 가속화하고 메시지를 줄일 수 있지만, 하나는 여전히 후) (종료 추가.
나는 서비스가 사용 사례에 맞지 않는 정도로 등록, 시작 및 기타 코드에 대한 테스트 케이스의 일환으로 mongod를 정지거야 - 나는 또한 컨텍스트를 추가하려는. 나는 모든 플랫폼 (이 지금 창에서 테스트)에서 실행되는 것을 끝낼 것을 희망하고있다. 나는 mongod의 3.6.9을 사용하고 있습니다
-
==============================
14.나는 우분투이 시작 스크립트를 사용합니다.
나는 우분투이 시작 스크립트를 사용합니다.
#!/bin/sh ### BEGIN INIT INFO # Provides: mongodb # Required-Sart: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: mongodb # Description: mongo db server ### END INIT INFO . /lib/lsb/init-functions PROGRAM=/opt/mongo/bin/mongod MONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'` test -x $PROGRAM || exit 0 case "$1" in start) log_begin_msg "Starting MongoDB server" ulimit -v unlimited. ulimit -n 100000 /opt/mongo/bin/mongod --fork --quiet --dbpath /data/db --bind_ip 127.0.0.1 --rest --config /etc/mongod.conf. log_end_msg 0 ;; stop) log_begin_msg "Stopping MongoDB server" if [ ! -z "$MONGOPID" ]; then kill -15 $MONGOPID fi log_end_msg 0 ;; status) ;; *) log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}" exit 1 esac exit 0
-
==============================
15.PowerShell에서, 그건 : 스톱 서비스 MongoDB를을
PowerShell에서, 그건 : 스톱 서비스 MongoDB를을
그런 다음 다시 시작 : 시작 서비스 MongoDB를을
그것을 실행, 시작인지 확인하려면 : net 시작 | FINDSTR MongoDB를.
참고 : 위는 MongoDB를 서비스로 등록되어 가정합니다.
-
==============================
16.CTRL + C
CTRL + C
윈도우 명령 행에서
from https://stackoverflow.com/questions/11774887/how-to-stop-mongo-db-in-one-command by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 생산 코드에 몽구스 색인 (0) | 2019.12.13 |
---|---|
[MONGODB] MongoDB의에서 멀티 테넌트 (multi-tenant) 데이터베이스에 대한 권장되는 방법은 무엇입니까? (0) | 2019.12.13 |
[MONGODB] MongoDB를에 OBJECTID에 문자열로 변환 (0) | 2019.12.13 |
[MONGODB] MongoDB를이 : 서버가 시작 경고 '' '액세스 제어 데이터베이스를 사용할 수 없습니다'를 가지고 (0) | 2019.12.13 |
[MONGODB] 유성 배포 된 응용 프로그램에서 데이터를 내보낼 수있는 간단한 방법이 있나요? (0) | 2019.12.13 |