我试图在 ubuntu 14.04 中将我的本地mongodb版本从 3.4 降级到 2.6.11 ,我得到了当我试图启动mongodb时出现以下错误:
2017-01-27T10:24:16.190 + 0600 [initandlisten]异常 initAndListen:28574无法启动服务器。检测到的数据文件 / var / lib / mongodb由存储引擎' wiredTiger'创建。该 配置的存储引擎是“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无法启动服务器。检测到的数据文件 / var / lib / mongodb由存储引擎' wiredTiger'创建。该 配置的存储引擎是“mmapv1'。,终止
截图
答案 0 :(得分:2)
3.4中的默认存储引擎为wiredTiger
,而2.6中的默认存储引擎为mmapv1
。因此3.4的数据与2.6不兼容。
如果您的数据不重要,只需删除数据目录的内容,您就可以了:
rm -rf /var/lib/mongodb/*
如果您需要数据,请重新安装3.4,使用mongodump
备份数据,降级到2.6并使用mongorestore
恢复数据。
由于3.4支持其他数据类型,因此可能会遇到一些兼容性问题。