如何卸载 MongoDB 并重新安装最新版本?

jyo*_*thi 55 11.10 mongodb

我需要从我的系统(Ubuntu 11.10)中完全卸载 mongodb 并安装 2.0.5 版。

目前,当我运行时:

mongo db
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

MongoDB shell 版本:2.0.1
连接到:db
Wed Jun 6 13:05:03 错误:无法连接到服务器 127.0.0.1 shell/mongo.js:84 异常:连接失败

Dav*_*rds 86

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
Run Code Online (Sandbox Code Playgroud)

其中一些命令可能会失败,具体取决于您实际安装的软件包,但这没关系。

这也应该从/etc/mongodb.conf. 如果你想彻底清理,你可能还想删除数据目录/var/lib/mongodb,只要你备份了它或者不再需要它。

如果您是通过从源代码构建或使用 10gen 二进制分发版进行安装的,那么您需要手动卸载并清理放置二进制文件、配置和数据文件的任何位置。

安装 10gen MongoDB 包

按照 10gen说明添加他们的存储库:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Run Code Online (Sandbox Code Playgroud)

编辑/etc/apt/sources.list,删除您已经为 Mongo 添加的任何行,并在末尾添加以下单行(因为 11.10 使用 upstart):

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
Run Code Online (Sandbox Code Playgroud)

请注意,如果您使用软件中心添加此存储库,它将自动添加一个 deb-src 条目,这将破坏 apt-get。因此,您需要手动编辑源列表以仅添加以上行。

然后安装,运行:

sudo apt-get update 
sudo apt-get install mongodb-10gen
Run Code Online (Sandbox Code Playgroud)

检查您的安装

安装包应该会自动启动 MongoDB 服务器。所以你应该能够从命令行运行客户端:

mongo
Run Code Online (Sandbox Code Playgroud)

这应该成功连接到测试数据库。您可以通过键入退出exit

如果失败,请使用更多详细信息更新您的问题,包括尝试连接和附加/var/log/mongodb/mongodb.log文件的输出。


小智 33

要从系统中完全删除 MongoDB,您必须删除 MongoDB 应用程序本身、配置文件以及任何包含数据和日志的目录。以下部分将指导您完成必要的步骤。

  1. 停止 MongoDB

    通过发出以下命令停止 mongod 进程:

    sudo service mongod stop
    
    Run Code Online (Sandbox Code Playgroud)
  2. 删除包

    删除您之前安装的所有 MongoDB 包。

    sudo apt-get purge mongodb-org*
    
    Run Code Online (Sandbox Code Playgroud)
  3. 删除数据目录。

    删除 MongoDB 数据库和日志文件。

    sudo rm -r /var/log/mongodb /var/lib/mongodb
    
    Run Code Online (Sandbox Code Playgroud)