MongoDB for Windows使用批處理檔案啟動閃退之空格惹的禍

清風艾艾發表於2018-03-15
    昨天,一開發同事在自己的電腦上安裝了一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資料庫,成功啟動:


到此問題解決!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2151865/,如需轉載,請註明出處,否則將追究法律責任。

相關文章