以下是我用于将我的mongodb版本从2.6.9升级到最新版本的命令,但它仍然显示我以前的版本。让我知道我在升级过程中遇到了什么问题。问题是mongod -version
仍然显示升级后安装的旧版本。
我所指的文档 - Mongodb Docs
我遵循的步骤 -
结果 -
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
让我知道我在这里做错了什么......或错过了任何一步?
答案 0 :(得分:53)
我处于完全相同的情况,遵循完全相同的步骤,并遇到同样的问题。
对我有用的是:
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中):
解压下载文件。
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
在此之后连接到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
停止Mongodb服务
sudo service mongod stop
删除包。
sudo apt-get purge mongodb-org *
删除数据目录。 (可选)强>
sudo rm -r / var / log / mongodb
sudo rm -r / var / lib / mongodb
第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