MongoDB主機斷電後重啟出現無法連線資料庫的情況
阿新 • • 發佈:2018-12-27
C:\Program Files\MongoDB 2.6 Standard\bin>mongo --port 27017 MongoDB shell version: 2.6.6 connecting to: 127.0.0.1:27017/test 2017-01-07T20:27:57.499+0800 warning: Failed to connect to 127.0.0.1:27017, reas on: errno:10061 由於目標計算機積極拒絕,無法連線。 2017-01-07T20:27:57.507+0800 Error: couldn't connect to server 127.0.0.1:27017 ( 127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:148 exception: connect failed
出現這種情況的原因是資料庫由於主機斷電沒有正常退出,所以說此時資料庫被鎖定。
鎖定的檔案所在地址就是資料庫的資料所在檔案目錄地址。
由配置檔案mongod.cfg,指定了資料庫資料檔案的存放地址。
#日誌檔案的所在地址
logpath=E:\MongoDB\log\mongod.log
#資料檔案的所在地址
dbpath=E:\MongoDB\db
就是去dbpath檔案所在的資料夾,將“mongod.lock”檔案刪除即可。
重啟服務,我的資料庫的服務名為MongoDB,所以說重啟的指令為:“net start MongoDB”
執行結果為:
C:\Program Files\MongoDB 2.6 Standard\bin>net start MongoDB MongoDB 服務已經啟動成功。
重新連線資料庫就可以運行了,如下所示。
C:\Program Files\MongoDB 2.6 Standard\bin>mongo --port 27017 MongoDB shell version: 2.6.6 connecting to: 127.0.0.1:27017/test Server has startup warnings: 2017-01-07T20:34:44.429+0800 [initandlisten] 2017-01-07T20:34:44.429+0800 [initandlisten] ** NOTE: This is a 32 bit MongoDB b inary. 2017-01-07T20:34:44.429+0800 [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal). 2017-01-07T20:34:44.429+0800 [initandlisten] ** Note that journaling defau lts to off for 32 bit and is currently off. 2017-01-07T20:34:44.430+0800 [initandlisten] ** See http://dochub.mongodb. org/core/32bit 2017-01-07T20:34:44.430+0800 [initandlisten]