ubuntu1604 安装mongodb3.2

ubuntu1604 安装mongodb3.2

官方文档:https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-ubuntu/

系统环境:ubuntu16.04.5

mongodb:3.2.X

概述:

   虽然Ubuntu有自己的mongodb包,但是官方的MongoDB Community Edition packages 一般比较新。

    本版本Mongodb 只为 64位长期维护的Ubuntu 发布版本提供安装包,如14.04 LTS(trusty),16.04 LTS(xenial)等。 其它版本的也可能可以使用,但是不受支持。

    Ubuntu 12.04 LTS(precise) 不支持 MongoDB 3.2。 

 mongodb-org    这个包会安自动装下面的包

 mongodb-org-server  包含mongod 的守护进程 和 相关的配置与初始化脚本

 mongodb-org-mongos 包含 mongos 守护进程,(mongos相当于分布式路由?)

 mongodb-org-shell      包含 mongo 脚本

 mongodb-org-tools      包含mongodb的工具:mongoimport bsondump,mongodump,mongoexport,mongofiles,mongooplog,mongoperf,mongorestore,mongostat,mongotop

这些包 是和 ubuntu 提供的 mongodb,mongodb-server,mongodb-clients 冲突的。

包里提供默认的配置文件是 /etc/mongod.conf,其中 bind_ip 设置为 127.0.0.1。做分片前可以根据自己情况调整。

初始化脚本

  mongodb-org 包含各种初始化脚本,如 /etc/init.d/mongod. 可以用于管理守护进程,stop,sart,restart.

   默认没有mongos的初始化脚本,可以令mongod脚本创建自己的mongos脚本。

安装MongoDB Community Edition

   1. 为包管理器导入mongodb的 public key( Ubuntu包管理工具(如dpkg,apt)需要通过包发布者的带签名包的GPG keys 进行身份认证和一致性检验 )

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

   2.  为MongoDB 添加一个源列表

   创建 /etc/apt/sources.list.d/mongodb-org-3.2.list 列表文件(适用于Ubuntu16.04)

   echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

    这是官方的源列表,官方MongoDB的软件源仓库可以对大陆用户不太友好, 建议使用阿里云的MongoDB软件源仓库, 执行以下命令:

  echo "deb http://mirrors.aliyun.com/mongodb/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

 

  3. 重新加载包源

   sudo apt-get update

  可能会报错

   

Err:3 cdrom://Ubuntu-Server 16.04.5 LTS _Xenial Xerus_ - Release amd64 (20180731) xenial/main amd64 Packages
  Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs

 

E: Failed to fetch cdrom://Ubuntu-Server 16.04.5 LTS _Xenial Xerus_ - Release amd64 (20180731)/dists/xenial/main/binary-amd64/Packages  Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs
E: Some index files failed to download. They have been ignored, or old ones used instead.

解决apt-get update 无法添加新的cd-rom的错误

这个原因是cdrom已经被包含在源之中。要修改这个问题,我们需要将它从软件源中移除。

vim /etc/apt/sources.list

其中有一行 deb cdrom:[Ubuntu-Server 16.04.15 LTS ....

将该行屏蔽就可以解决这个问题

   4. 安装mongodb 包

    如果是安装最新版本的MongoDB

    sudo apt-get install -y mongodb-org

    如果是想安装指定版本的mongodb,如3.2.21

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

    注意:如果只指定 mongodb-org=3.2.21 是会被忽略的

    锁定MongoDB版本

     虽然我们指定的版本,但是如果有新版本可用的话,apt-get 将会更新包。为了防止意外的更新,需要锁定包版本。

  echo "mongodb-org hold" | sudo dpkg --set-selections
  echo "mongodb-org-server hold" | sudo dpkg --set-selections
  echo "mongodb-org-shell hold" | sudo dpkg --set-selections
  echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
  echo "mongodb-org-tools hold" | sudo dpkg --set-selections

 运行MongoDB Community Edition

    Mongodb默认将数据存储在 /var/lib/mongodb,日志存储在/var/log/mongodb,并且使用mongodb帐号。  可以根据情况修改/etc/mongod.conf。

    如果你想使用其它帐号运行mongodb,需要给帐号这两个文件夹的/var/lib/mongodb , /var/log/mongodb  的读和执行权限。

  1. 启动 MongoDB

   sudo service mongod start

  2. 检查 MongoDB是否已经成功启动

   cat /var/log/mongodb/mongod.log   

   [initandlisten] waiting for connections on port 27017

  3. 停止 MongoDB

   sudo service mongod stop 

  4. 重启 MongoDB

   sudo service mongod restart

 

5. 设置开机启动

   sudo systemctl enable mongod

   注意.网上很多方法是 在/etc/init.d建立一个脚本,并执行update-rc.d mongod defaults,这些都是Sysinit方式,使用systemd方式的话,只需要上面这一句即可

如何卸载MongoDB 

   1.  停止 服务  

    sudo service mongod stop

   2.  删除 包  

    sudo apt-get purge mongodb-org*

   3.  删除数据 和 日志(慎重)  

    sudo rm -r /var/log/mongodb

  sudo rm -r /var/lib/mongodb

你可能感兴趣的:(ubuntu1604 安装mongodb3.2)