升级mongodb没有任何效果,仍然显示旧版本

时间:2015-05-02 06:49:59

标签: mongodb ubuntu

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

我所指的文档 - Mongodb Docs

我遵循的步骤 -

  • sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
  • echo“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 update
  • sudo apt-get install -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让我知道我在这里做错了什么......或错过了任何一步?

7 个答案:

答案 0 :(得分:53)

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

对我有用的是:

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

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

答案 1 :(得分:28)

[免责声明]在进入升级之前,请考虑从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

答案 2 :(得分:7)

运行:

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

答案 3 :(得分:6)

您可以更换二进制文件以升级到mongodb 3.0,如下所示(适用于Ubuntu / CentOs,但命令列在Ubuntu中):

  1. 根据您的分发来自mongodb网站下载tar:https://www.mongodb.org/downloads
  2. 解压下载文件。

    tar -zxvf {mongo-tar-file} .tgz

  3. 停止mongod服务。

    sudo service mongod stop

  4. 将二进制文件从tar / bin替换为/ usr / bin。

    cd {your-extracted-folder} / bin

    sudo mv -f * / usr / bin /

  5. 启动mongod服务。

    sudo service mongod start

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

      

    您应该在升级之前备份数据。通常没有   备份/恢复是必要的,但有时事情不是   按预期进行。

答案 4 :(得分:3)

您应该手动更新每个包。所以试试:

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

然后手动更新每个pakage

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

答案 5 :(得分:2)

第1步:首先您需要卸载现有的mongodb

  1. 停止Mongodb服务

    sudo service mongod stop

  2. 删除包。

    sudo apt-get purge mongodb-org *

  3. 删除数据目录。 (可选)

    sudo rm -r / var / log / mongodb

    sudo rm -r / var / lib / mongodb

  4. 第2步:然后安装最新的mongodb(即3.4)

    <强> 1。导入包管理系统使用的公钥。

    func extract(Source: String , Destination : String) -> Bool{
        return Main.unzipFile(atPath: Source, toDestination: Destination)
    
    }
    

    <强> 2。为MongoDB创建一个列表文件。 (Ubuntu 16.04)

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
    

    第3。重新加载本地包数据库。

    sudo apt-get update

    <强> 4。安装最新的稳定版MongoDB

    sudo apt-get install -y mongodb-org

    <强> 5。启动MongoDB。

    sudo service mongod start

    <强> 6。验证MongoDB是否已成功启动

      

    通过检查验证mongod进程是否已成功启动   /var/log/mongodb/mongod.log中日志文件的内容   读

         

    [initandlisten]等待端口上的连接

         

    默认情况下,在/etc/mongod.conf中配置的端口为27017。

答案 6 :(得分:1)

感谢。我一步一步地在ubuntu 14.04 LTS上完成了

根据您的归因从mongodb网站下载tar:https://www.mongodb.org/downloads Untar下载文件。

tar -zxvf {mongo-tar-file} .tgz

停止mongod服务。

sudo service mongod stop

将二进制文件从tar / bin替换为/ usr / bin。

cd {your-extracted-folder} / bin

sudo mv -f * / usr / bin /

启动mongod服务。

sudo service mongod start