重裝系統后,把原mongoDB安裝目錄和原mongoDB的data目錄拷貝到新硬盤的D盤上。
恢復的方法如下。
1、D:\Mongodb里放着mongod.cfg和data
C:\Users\Administrator>dir D:\Mongodb
驅動器 D 中的卷沒有標簽。
卷的序列號是 A48D-4D74
D:\Mongodb 的目錄
2017/05/06 21:48 <DIR> .
2017/05/06 21:48 <DIR> ..
2017/05/06 21:48 <DIR> data
2017/03/19 19:57 110 mongod.cfg
1 個文件 110 字節
3 個目錄 1,017,095,073,792 可用字節
其中mongod.cfg中內容如下:
systemLog:
destination: file
path: D:\Mongodb\data\log\mongod.log
storage:
dbPath: D:\Mongodb\data\db
2、打開cmd。執行
C:\Users\Administrator>"D:\Program Files\mongodb-win32-i386-3.0.7\bin\mongod.exe
" --config D:\Mongodb\mongod.cfg --install
2017-05-07T15:07:18.761+0800 I CONTROL
2017-05-07T15:07:18.763+0800 W CONTROL 32-bit servers don't have journaling ena
bled by default. Please use --journal if you want durability.
2017-05-07T15:07:18.763+0800 I CONTROL
2017-05-07T15:07:18.766+0800 I CONTROL log file "D:\Mongodb\data\log\mongod.log
" exists; moved to "D:\Mongodb\data\log\mongod.log.2017-05-07T07-07-18".
C:\Users\Administrator>net start MongoDB
MongoDB 服務已經啟動成功。
這個時候,在系統里可以看到mongodb的服務了。
3、測試下原來的數據還在不在。打開pycharm中mongodb的mongodb控件。做連接測試,發現連接超時。回到服務里,發現mongodb狀態是停止的。於是打開日志文件D:\Mongodb\data\log,有如下的報錯
2017-05-07T15:23:33.144+0800 I CONTROL Hotfix KB2731284 or later update is not installed, will zero-out data files
2017-05-07T15:23:33.147+0800 I CONTROL Trying to start Windows service 'MongoDB'
2017-05-07T15:23:33.148+0800 I STORAGE Service running
2017-05-07T15:23:33.149+0800 W - [initandlisten] Detected unclean shutdown - D:\Mongodb\data\db\mongod.lock is not empty.
2017-05-07T15:23:33.163+0800 I STORAGE [initandlisten] **************
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
*************
2017-05-07T15:23:33.166+0800 I STORAGE [initandlisten] exception in initAndListen: 12596 old lock file, terminating
2017-05-07T15:23:33.166+0800 I CONTROL [serviceStopWorker] dbexit: rc: 49
查詢了下,於是進入D:\Program Files\mongodb-win32-i386-3.0.7\bin目錄下,執行mongodb-win32-i386-3.0.7\bin>mongod --repair --dbpath D:\Mongodb\data\db
D:\Program Files\mongodb-win32-i386-3.0.7\bin>mongod --repair --dbpath D:\Mongodb\data\db
2017-05-07T15:25:34.931+0800 I CONTROL
2017-05-07T15:25:34.932+0800 W CONTROL 32-bit servers don't have journaling ena
bled by default. Please use --journal if you want durability.
2017-05-07T15:25:34.934+0800 I CONTROL
2017-05-07T15:25:34.940+0800 I CONTROL Hotfix KB2731284 or later update is not....
再重新net start MongoDB。進入服務,發現狀態是已啟動,再做連接測試,OK。查詢數據,也還在!
4、總結下,要做數據恢復。mongodb 32位可以直接在64位windows下用,而且拷過來就行,不用安裝。