mongodb教學 - mongodb windows 10



如何停止Windows上的mongodb服務器? (3)

我想,使用TASKKILL / IM mongod.exe是好的,以終止優雅的mongodb服務器。

https://ffff65535.com

我正在使用nginx / PHP / MongoDB堆棧,並嘗試通過創建兩個批處理文件來在Windows上設置我的開發環境。

的start.bat

cd C:\www\nginx
start nginx
cd C:\www\php
start php-cgi.exe -b 127.0.0.1:9000
cd C:\www\mongodb
start mongod

stop.bat且

cd C:\www\nginx
nginx -s quit
cd C:\www\php
taskkill /F /IM php-cgi.exe
cd C:\www\mongodb
mongo --eval "use admin; db.shutdownServer(); quit"  # this doesn't work
mongo --eval stop_mongod.js  # this doesn't work either

使用taskkill停止mongod不是一種選擇,因為這可能會導致數據損壞。 有什麼建議麼?


從mongo shell 文檔

使用dbname

此命令在腳本模式下不起作用。 相反,您將需要顯式定義連接中的數據庫(上例中的/ dbname)。

或者,您也可以在腳本中創建一個連接:

db2 = connect("server:27017/otherdbname")

我想出了下面的代碼:在stop_mongod.js文件中保存下面的代碼片段:

 db = connect("localhost:27017/admin");
 db.shutdownServer();
 quit();

如有必要調整連接字符串。 然後從命令行或批處理腳本中:

mongo stop_mongod.js

我不知道這是一個正確的方法,發送殺死可能會損壞你的mongo服務器,並且在發生崩潰後你需要修復你的數據庫。

也許你已經解決了這個問題,但這是我做的:

mongo admin --eval "db.shutdownServer()"

我自動連接到管理員的集合,接下來,我只需要運行滅絕。

這裡是關於如何正確地停止Mongodb的官方鏈接: http ://api.mongodb.org/wiki/current/Starting%20and%20Stopping%20Mongo.html

最好





command-line