当前位置: 首页>>技术教程>>正文


升级mongodb无效,并且仍显示旧版本

,

问题描述

以下是我用来将mongodb版本从2.6.9升级到最新版本的命令,但仍显示以前的版本。让我知道升级过程中我做错了什么。问题是,mongod -version仍显示升级后安装的旧版本。

我参考的文件-Mongodb Docs

我遵循的步骤-

  • 须藤apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv 7F0CEB10

  • 回声“ deb http://repo.mongodb.org/apt/ubuntu” $(lsb_release -sc)“ /mongodb-org /3.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

  • sudo apt-get更新

  • sudo apt-get安装-y mongodb-org

结果-

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  mongodb-org
1 upgraded, 0 newly installed, 0 to remove and 139 not upgraded.
Need to get 3,608 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://repo.mongodb.org/apt/ubuntu/ trusty/mongodb-org/3.0/multiverse mongodb-org amd64 3.0.2 [3,608 B]
Fetched 3,608 B in 0s (18.3 kB/s)      
(Reading database ... 298790 files and directories currently installed.)
Preparing to unpack .../mongodb-org_3.0.2_amd64.deb ...
arg: upgrade
Unpacking mongodb-org (3.0.2) over (2.6.9) ...
Setting up mongodb-org (3.0.2) ...

之后,我重新启动了服务-sudo service mongod restart

但仍然向我显示版本2.6.9让我知道我在这里做错了什么。或错过了任何步骤?

最佳方法

我处于完全相同的情况,遵循完全相同的步骤,并且遇到了相同的问题。

对我有用的是:

Uninstalling

sudo service mongod stop
sudo apt-get purge mongodb-org*

请勿删除数据目录-这样做会丢失所有数据。

注意:调用sudo apt-get purge mongodb-org*会删除mongod.conf文件。如果要在更新后保留此文件,请确保创建该文件的备份副本,并在安装新版本后使用它。

然后install mongodb与:

sudo apt-get install -y mongodb-org

如前所述,假设您已经执行了先前的安装步骤(导入公钥,创建列表文件,重新加载本地软件包数据库)。

次佳方法

[免责声明]在升级之前,请考虑从2.6升级到3. +要求对存储文件进行更新。如果从3.2更新到3.4或从3.4更新到3.6,则相同。重要提示:例如,您不能直接从3.2升级到3.6。您必须“逐步”升级3.2-> 3.4-> 3.6。有关详细信息,请参见this question/answer

如果要恢复旧数据库,这是必需的

在撰写本文时,3.6是MongoDB的最新版本。一些细节here

请注意,在版本之间进行更改也要考虑.conf文件中的某些语法。

[过程]一个更通用的更新框架是按照here所示的典型过程进行操作,但是由于您已经安装了MongoDB,因此请指向本指南的“安装MongoDB的特定版本”部分。

在Ubuntu 14.04上的示例:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
sudo apt-get update
sudo apt-get install -y mongodb-org=3.2.18 mongodb-org-server=3.2.18 mongodb-org-shell=3.2.18 mongodb-org-mongos=3.2.18 mongodb-org-tools=3.2.18

第三种方法

运行这个:

sudo apt-get update 
sudo apt-get --only-upgrade install mongodb-org mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools

第四种方法

您可以按以下方式替换二进制文件以升级到mongodb 3.0(可在Ubuntu /CentO上使用,但列出了适用于Ubuntu的命令):

  1. 根据您的分布从mongodb网站下载tar,网址为:https://www.mongodb.org/downloads

  2. 解压下载的文件。 tar -zxvf {mongo-tar-file} .tgz

  3. 停止mongod服务。 sudo服务mongod停止

  4. 将二进制文件从tar /bin替换为/usr /bin。 cd {your-extracted-folder} /bin sudo mv -f * /usr /bin /

  5. 启动mongod服务。 sudo服务mongod启动

在此之后连接到mongo之后,您可以看到版本已更新。我已经以这种方式在生产服务器上进行了升级,没有任何问题。

You should backup your data before upgrading. Usually no backup/restore is necessary but sometimes things don’t go as expected.

第五种方法

您应该手动更新每个软件包。因此,请尝试:

dpkg -l | grep mongo

ii  mongodb-org                              3.2.10                                      amd64        MongoDB open source document-oriented database system (metapackage)
ii  mongodb-org-mongos                       3.2.10                                      amd64        MongoDB sharded cluster query router
hi  mongodb-org-server                       3.2.10                                     amd64        MongoDB database server
ii  mongodb-org-shell                        3.2.14                                     amd64        MongoDB shell client
ii  mongodb-org-tools                        3.2.14                                     amd64        MongoDB tools

然后手动更新每个包装

sudo apt-get install mongodb-org mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7927.html,未经允许,请勿转载。