升级mongodb

时间:2012-03-18 11:29:11

标签: mongodb upgrade

我正在寻找最简单,最推荐的升级mongodb版本的方法(独立服务器和mongodb shell)。

为了升级,我可以遵循任何终端(for mac)命令吗?

我试图通过停止服务器 $ mongo

  

使用admin   db.shutdownServer()
  我得到:   3月17日星期六20:38:15 DBClientCursor :: init call()失败   3月17日星期六20:38:15查询失败:admin。$ cmd {shutdown:1.0} to:127.0.0.1:27017   服务器应该关闭...   3月17日星期六20:38:15尝试重新连接到127.0.0.1:27017   3月17日星期六20:38:15重新连接127.0.0.1:27017失败无法连接到服务器127.0.0.1:27017

据我所知,停止服务器后我需要更改mongodb的bin文件夹。 (我没有做因为mongo正在使用中)

如果有人知道更简单的方法来升级mongodb版本我会非常感谢他/她! 谢谢。

5 个答案:

答案 0 :(得分:49)

Ubuntu上升级MongoDB

首先,使用Mongoexport

备份您的数据

e.g:

mongoexport --db sales --collection contacts --out contacts.json --journal

然后通过发出命令检查您正在运行的MongoDB版本:

  

$ mongod --version

     

db version v1.8.2 ,pdfile版本4.5 -   10月24日星期三15:43:13 git版本:nogitversion

确认如果mongo当前正在运行:

  

$ ps -deaf | grep mongod

     

mongodb 15408 1月6日06? 13:50:00 / usr / bin / mongod --config /etc/mongodb.conf

Shutdown MongoDB

  

$ ./mongo

     

>使用管理员

     

> db.shutdownServer()

     

服务器应该关闭......

然后按照以下说明进行升级:How to Install MongoDB on Ubuntu

将10 Gen(MongoDB的创建者)公钥添加到apt-get,以便您信任他们的包:

  

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

     

$ echo“deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen”>> /etc/apt/sources.list.d/10gen.list

更新您的包裹:

  

$ sudo apt-get update

安装10gen的MongoDB Debian / Ubuntu软件包:

  

$ sudo apt-get install mongodb-10gen

     

以下包将删除:     的 mongodb的

     

将安装以下 NEW 包:     的的mongodb-10gen的

如果您收到错误,请尝试:

  

$ apt-get autoremove

确认 mongodb 用户/组有权写入数据目录:

  

$ sudo chown -R mongodb:mongodb / var / lib / mongodb /.

使用以下命令启动MongoDB 作为守护程序(后台进程):

  

$ mongod --fork --dbpath / var / lib / mongodb / --smallfiles --logpath   /var/log/mongodb.log --logappend

Shut Down MongoDB进入Mongo CLI,请访问admin并发出shutdown命令:

  

$ ./mongo

     

>使用管理员

     

> db.shutdownServer()

答案 1 :(得分:9)

关闭mongodb:

/usr/bin/mongodb --config $PATH-TO-CONFIG --shutdown

(用正确的目录替换/ usr / bin) 复制新的mongodb并重新启动mongodb。

答案 2 :(得分:6)

取决于版本升级,但通常如果它是一次重大升级(例如从1.8.xx到2.0.XX),您至少应该执行以下步骤:

  • 备份您的数据(mongoexport或查看此MongoDB backup documentation
  • 停止服务器(使用admin db.shutdownServer())
  • 复制或符号链接新的mongodb二进制文件
  • 使用--upgrade标志运行mongod(mongod - f --upgrade)
  • 升级完成后,重新启动mongod服务器

之后确保一切正常。如果没有切换回旧版本,请从备份导入数据并检查mongoDB jira:)

答案 3 :(得分:3)

1.导入包管理系统使用的公钥

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

<强> 2。为MongoDB创建一个列表文件。

echo'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen'| sudo tee /etc/apt/sources.list.d/mongodb.list

第3。重新加载本地包数据库。 sudo apt-get update

<强> 4。停止现有服务 sudo service mongodb stop

<强> 5。首先迁移到2.4到2.6 安装MongoDB的特定版本

sudo apt-get install -y mongodb-org = 2.6.12 mongodb-org-server = 2.6.12 mongodb-org-shell = 2.6.12 mongodb-org-mongos = 2.6.12 mongodb-org-tools = 2.6.12

6.取消链接临时链接 删除锁定文件。 rm /tmp/mongodb-27017.sock

7.restart mongo service sudo service mongodb restart

<强> 8。现在最终从2.6迁移到3.0 sudo apt-get install -y mongodb-org = 3.0.12 mongodb-org-server = 3.0.12 mongodb-org-shell = 3.0.12 mongodb-org-mongos = 3.0.12 mongodb-org-tools = 3.0.12

再次重启,瞧!!!!

有关详细信息,请参阅官方文档: mongo doc

答案 4 :(得分:2)

从版本2升级到版本3

我没有成功使用其他答案中的方法,并且在关注offical document&#34; 升级二进制文件&#34;方法,像这样:

  1. 停止运行

    $ sudo service mongod stop

  2. 下载正确的二进制文件

      

    (来自here,有关获取正确版本的帮助,请参阅this answer

  3. 将下载的二进制文件复制到

    $ sudo cp downloaded_binaries/bin/* /usr/bin

  4. 重新启动mongo

    $ sudo service mongod start