병원에서 MongoDB를 시작 / 중지 할 수 있어야합니다. 시작하는 것은 매우 간단합니다.
./mongod
그러나 mongo DB를 중지하려면 먼저 열린 mongo 셸을 실행 한 다음 두 명령을 입력해야합니다.
$ ./mongo
관리자 사용
db.shutdownServer ()
그래서 몽고 DB를 한 줄로 멈추는 방법을 모르겠습니다. 어떤 도움?
답변
MongoDB 시작 및 중지 는 MongoDB 매뉴얼에서 다룹니다. 쉘, cli, 드라이버 등을 통해 MongoDB를 중지하는 다양한 옵션에 대해 설명합니다. 또한 MongoDB를 잘못 중지 할 수있는 위험 (예 : 데이터 손상)과 다른 킬 (kill) 신호에 대해 설명합니다.
또한 Ubuntu 또는 Debian 용 패키지 관리자를 사용하여 MongoDB를 설치 한 경우 다음과 같이 mongodb (현재 ubuntu의 mongod)를 중지 할 수 있습니다.
-
건방진 녀석:
sudo service mongod stop
-
Sysvinit :
sudo /etc/init.d/mongod stop
또는 Mac OS X에서
-
다음을 사용하여 mongod 프로세스의 PID 찾기
$ top
-
에 의해 프로세스를 죽여
$ kill <PID>
( Mongo 문서에 대한 자세한 정보가 있습니다 )
또는 Red Hat 기반 시스템에서 :
service mongod stop
또는 Windows 라는 서비스로 설치 한 경우 MongoDB
:
net stop MongoDB
서비스로 설치되지 않은 경우 (Windows 7 이상) 다음을 실행할 수 있습니다.
taskkill /f /im mongod.exe
부정확 한 종료 문제, 이러한 시나리오를 피하는 가장 좋은 방법 및 부정확 한 종료시 수행 할 작업에 대한 자세한 내용 은 예기치 않은 종료 후 데이터 복구 를 참조하십시오 .
답변
말 그대로 원래 질문의 명령과 동등한 한 줄을 원한다면 별칭을 지정할 수 있습니다.
mongo --eval "db.getSiblingDB('admin').shutdownServer()"
서비스를 통한 MongoDB 시작 및 중지에 대한 Mark의 답변은보다 일반적이고 권장되는 관리 방법입니다.
답변
mongod --dbpath /path/to/your/db --shutdown
공식 정보 : http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/
답변
서버가 터미널에서 포 그라운드 프로세스로 실행중인 경우이를 눌러 수행 할 수 있습니다.
Ctrl-C
실행중인 서버를 완전히 종료하는 또 다른 방법은 shutdown 명령을 사용하는 것입니다.
> use admin
> db.shutdownServer();
그렇지 않으면 kill과 같은 명령을 사용하여 신호를 보낼 수 있습니다. mongod의 PID가 10014 인 경우 명령은 다음과 같습니다.
kill -2 10014
답변
나는 신호로 멈추기 위해 공식 MongoDB 문서 를 따랐다 . 사용할 수있는 다음 명령 중 하나는 (PID는 표현 Process ID
의 mongod
과정을) :
kill PID
신호 15 (SIGTERM)를 보내거나
kill -2 PID
신호 2 (SIGINT)를 보냅니다.
MongoDB 문서의 경고 : 인스턴스 를 종료하기 위해
절대kill -9
SIGKILL을 사용하지 마십시오mongod
.
하나 이상의 인스턴스가 실행 중이거나 PID에 관심이없는 경우 실행중인 pkill
모든 mongod
프로세스에 신호를 보내는 데 사용할 수 있습니다 .
pkill mongod
또는
pkill -2 mongod
또는 훨씬 더 안전한 것은 귀하에게 속한 프로세스에만 해당됩니다.
pkill -U $USER mongod
또는
pkill -2 -U $USER mongod
추신
: mongod --shutdown
현재 MongoDB 문서에 언급되어 있지만 내 컴퓨터 (macOS, mongodb v3.4.10,와 함께 설치됨 homebrew
) 에서 호기심으로 작동하지 않기 때문에이 옵션을 사용했습니다 .
Error parsing command line: unrecognised option '--shutdown'
PPS
(macOS 전용) 누구나 궁금해하기 전에 : 아니오,로
brew services stop mongodb
시작하지 않았기 때문에 명령으로 중지 할 수 없었 습니다
brew services start mongodb
.
나는 mongod
커스텀 커맨드 라인으로 시작 했다 🙂
답변
답변
나의 특별한 경우는 :
이전에 mongod를 시작하십시오.
sudo -u mongod mongod -f /etc/mongod.conf
이제 중지하고 싶습니다 mongod
.
그리고 공식 문서 Stop mongod Processes를 참조하십시오 .
(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
중지 :
service mongod stop
과
service mongod status
ps에서 프로세스를 볼 수 Active: inactive (dead)
있지만 예상 되었지만 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
지금까지 근본 원인 : 여전히 알 수 없음 …
위의 솔루션이 도움이되기를 바랍니다.