问题描述
我需要从我的系统(Ubuntu 11.10)中完全卸载mongodb并安装2.0.5版本。
目前,当我跑:
mongo db
我收到以下错误:
MongoDB shell version: 2.0.1
connecting to: db
Wed Jun 6 13:05:03 Error: couldn’t connect to server 127.0.0.1 shell/mongo.js:84 exception: connect failed
最佳解决方法
MongoDB有两套包装;标准的Ubuntu包,以及由10gen自己发布的一套。标准软件包已经过时,特别是对于Ubuntu的旧版本,因此最好从10gen存储库进行安装。
您引用的错误消息表明您可能已经尝试过此操作,因为版本2.0.1不是标准的Ubuntu软件包。我建议首先,你完全卸载Mongo并清理你的系统。如果您有要保留的现有数据,则可以对其进行备份。默认情况下,它存储在/var/lib/mongodb
中。因此,如果您想要备份,请从那里获取文件的副本并将它们保存在安全的地方。
卸载现有的MongoDB软件包
由于我不是100%安装的东西,我建议以下内容确保所有内容都已卸载:
sudo apt-get purge mongodb mongodb-clients mongodb-server mongodb-dev
sudo apt-get purge mongodb-10gen
sudo apt-get autoremove
其中一些命令可能会失败,具体取决于您实际安装的软件包,但这没关系。
这也应该从/etc/mongodb.conf
中删除您的配置。如果要完全清理,可能还需要删除数据目录/var/lib/mongodb
,只要您备份它或不再需要它。
如果您通过从源代码构建或使用10gen二进制发行版进行安装,那么您需要手动卸载并清理二进制文件,配置和数据文件的位置。
安装10gen MongoDB软件包
按照10gen instructions添加他们的存储库:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
编辑/etc/apt/sources.list
,删除已为Mongo添加的所有行,并在末尾添加以下单行(因为11.10使用upstart):
deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
请注意,如果使用软件中心添加此存储库,它将自动添加deb-src条目,这将打破apt-get。因此,您需要手动编辑源列表以仅添加上述行。
然后安装,运行:
sudo apt-get update
sudo apt-get install mongodb-10gen
检查您的安装
安装软件包应该会自动启动MongoDB服务器。所以你应该能够从命令行运行客户端:
mongo
哪个应该成功连接到测试数据库。您可以通过键入exit
退出。
如果失败,请更新您的问题并提供更多详细信息,包括尝试连接和附加/var/log/mongodb/mongodb.log
文件的输出。
次佳解决方法
要从系统中完全删除MongoDB,您必须删除MongoDB应用程序本身,配置文件以及包含数据和日志的任何目录。以下部分将指导您完成必要的步骤。
-
停止MongoDB
通过发出以下命令来停止mongod进程:
sudo service mongod stop
-
删除包
删除以前安装的所有MongoDB软件包。
sudo apt-get purge mongodb-org*
-
删除数据目录。
删除MongoDB数据库和日志文件。
sudo rm -r /var/log/mongodb /var/lib/mongodb
第三种解决方法
按照步骤:
-
删除锁定文件
sudo rm /var/lib/mongodb/mongod.lock
-
修理mongodb
mongod --repair
-
启动mongodb
sudo service mongodb start
-
启动mongo控制台
mongo