天天看點

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

    昨天,一開發同僚在自己的電腦上安裝了一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,報錯如圖:

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

    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資料庫,成功啟動:

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

到此問題解決!

繼續閱讀