1. 程式人生 > >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
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]