2017-01-27 52 views
1

我試圖從3.4降級我的本地的MongoDB版本2.6.11 ubuntu的14.04的時候,我收到的時候我嘗試下面的錯誤開始的MongoDB:錯誤降級MongoDB的3.4至2.6.11

2017-01-27T10:24:16.190 + 0600 [initandlisten]例外 initAndListen:28574無法啓動服務器。由存儲引擎'wiredTiger'創建的 /var/lib/mongodb中檢測到的數據文件。該 配置的存儲引擎是 'mmapv1',終止

下面是我遵循的程序

刪除現有的MongoDB版本

sudo apt-get --purge remove mongodb-org mongodb-org-* 
sudo apt-get --purge autoremove 

安裝2.6.11版本號

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list 
sudo apt-get update 
sudo apt-get install -y mongodb-org 
sudo apt-get install -y --force-yes mongodb-org=2.6.11 mongodb-org-server=2.6.11 mongodb-org-shell=2.6.11 mongodb-org-mongos=2.6.11 mongodb-org-tools=2.6.11 

引腳版本

echo "mongodb-org hold" | sudo dpkg --set-selections 
echo "mongodb-org-server hold" | sudo dpkg --set-selections 
echo "mongodb-org-shell hold" | sudo dpkg --set-selections 
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections 
echo "mongodb-org-tools hold" | sudo dpkg --set-selections 

啓動MongoDB的

sudo service mongod start 

調試

cat /var/log/mongodb/mongod.log 

2017-01-27T10:24:16.190 + 0600 [initandlisten]例外 initAndListen:28574無法啓動服務器。由存儲引擎'wiredTiger'創建的 /var/lib/mongodb中檢測到的數據文件。所述 配置的存儲引擎是 'mmapv1'。,終止

截圖

enter image description here

+0

2.6不支持WirdTiger存儲引擎,如果你想讓它工作,你需要首先使用mongodump導出數據,然後將其恢復到舊版本 – Sammaye

回答

2

在3.4的默認存儲引擎是wiredTiger而它在2.6 mmapv1。因此3.4的數據與2.6不兼容。

如果你的數據並不重要,只是刪除數據目錄的內容,你會被罰款:

rm -rf /var/lib/mongodb/* 

如果你需要的數據,重新安裝3.4,備份使用mongodump數據,降級到2.6並使用mongorestore恢復數據。

由於3.4支持其他數據類型,因此您可能會遇到一些兼容性問題。