昨天,一開發同僚在自己的電腦上安裝了一MongoDB資料庫,據說已經對資料庫做了相關安全加強,自己編輯了一個.bat批處理
啟動檔案,但是點選.bat啟動MongoDB資料庫時出現閃退,讓幫忙調試MongoDB。
他提供的.bat批處理檔案内容(mongodb_start.bat):
cd C:\Program Files\MongoDB\Server\3.2\bin\mongod --dbpath "C:\hospital_hangz\MongoData\rs0-0" --port 27000 --directoryperdb --storageEngine wiredTiger --wiredTigerCacheSizeDG 64 --auth --logpath C:\hospital_hangz\MongoData
處理過程如下:
1、親自嘗試使用其提供的.bat檔案啟動資料庫,結果果然閃退
2、确認腳本中涉及的MongoDB安裝路徑和資料檔案存放路徑
3、以自己經驗重新編輯test.bat(主要是使用pause讓啟動視窗不自動退出,避免閃退,友善觀察報錯),内容如下:
C:\Program Files\MongoDB\Server\3.2\bin\mongod --dbpath "C:\hospital_hangz\MongoData\rs0-0" --port 27000 --directoryperdb --storageEngine wiredTiger --wiredTigerCacheSizeDG 64 --auth --logpath C:\hospital_hangz\MongoData
pause
4、使用test.bat啟動MongoDB,報錯如圖:

5、由4報錯截圖可知,是mongodb資料庫安裝路徑問題,安裝的路徑中出現了空格,就是Program Files之間的空格,導緻mongodb啟動時找不到mongod指令,
針對這種情況:windows中的Program Files可以使用Program~1代替。
重新編輯test.bat:
C:\Program Files\MongoDB\Server\3.2\bin\mongod --dbpath "C:\hospital_hangz\MongoData\rs0-0" --port 27000 --directoryperdb --storageEngine wiredTiger --wiredTigerCacheSizeDG 64 --auth --logpath C:\hospital_hangz\MongoData
pause
6、使用5中重新編輯好的test.bat啟動MongoDB,依然報錯,不過提示logpath需要指定到具體的檔案,重新編輯test.bat:
C:\Program Files\MongoDB\Server\3.2\bin\mongod --dbpath "C:\hospital_hangz\MongoData\rs0-0" --port 27000 --directoryperdb --storageEngine wiredTiger --wiredTigerCacheSizeDG 64 --auth --logpath C:\hospital_hangz\MongoData\mymongo.log
pause
7、使用6中編輯好的test.bat啟動MongoDB資料庫,成功啟動:
到此問題解決!