Install Package Summary

MongoDB安装包说明:

mongodb-org

  • 可自动安装以下四个包

mongodb-org-server

  • 可安装mongod进程、配置文件和启动脚本
  • mongod:核心基础进程,用来接受和读写请求,负责存储实际数据; mongod实例是负责构建集群的基本单位,如Replica Set, Sharding Cluster、Config Server

mongodb-org-mongos

  • 可安装mongos进程
  • mongos:集群核心基础进程,是Sharding Cluster架构模式中的“路由”进程;即将客户端的请求转发到合适的Shard Server进行处理并将结果返回给客户端; mongos服务基本不存储数据,只是在内存中缓存部分shard key与shard server的对应关系,方便理由。

mongodb-org-shell

mongodb-org-tools

  • mongoimport, mongoexport, mongodump, mongrestore, mongofiles, bsondump, mongooplog, mongoperf, mongostat, mongotop, (mongosniff)

Windows

平台:Windows10-64bit

Download & Install

Configure MongoDB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 创建数据存放文件夹		
$ mkdir "C:\data\db"
	 		
# 创建日志文件夹
$ mkdir "C:\data\log"
# 创建MongoDB服务配置文件
$ mongod.cfg	
		
# 添加mongod.cfg数据
  	systemLog:
		destination: file
		path: c:\data\log\mongod.log
	storage:
		dbPath: c:\data\db
	security:
		authorization: "disabled"	

Create MongoDB Service

1
$ sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe\" --service --config=\"C:\data\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

Start MongoDB Service

1
2
3
4
5
6
# 启动服务
$ net start MongoDB
# 停止
$ net stop MongoDB
# 重启
$ net start MongoDB

Linux

平台

  • Ubuntu14|16.04-LTS-64bit
  • CentOS-7-64bit

Download & Install

Ubuntu

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

    • $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
  • Create a list file for MongoDB

    • $ echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
  • 更新软件源列表

    • $ sudo apt-get update
  • 安装mongodb(默认是安装稳定版)

    • $ sudo apt-get install -y mongodb-org

Centos-7

Official Mongo-Centos-Install Doc

  • 安装之前确保关闭SELinux防护,否则会出现服务启动失败

    • 查看状态:

      • $ cat /etc/selinux/config |grep -v '#' |grep -i selinux

        1
        2
        3
        
        # 输出该信息表示关闭
        SELINUX=disabled        
        SELINUXTYPE=targeted
    • 如果没有则需要关闭SELinux,并且重启

      • $ sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
      • $ reboot
  • 保存如下内容到 /etc/yum.repos.d/mongodb-org-3.4.repo

    1
    2
    3
    4
    5
    6
    
    [mongodb-org-3.4]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
  • sudo yum install -y mongodb-org

Overview

  • /var/lib/mongodb:MongoDB数据文件
  • /var/log/mongodb:MongoDB日志文件
  • /etc/mongod.conf:MongoDB配置文件,可在该文件指定数据和日志文件存放目录
  • /etc/init.d/mongodb:ubuntu的mongod服务启动控制脚本
  • /usr/lib/systemd/system/mongod.service:centos的mongod服务启动控制脚本
  • mongo:MongoDB客户端程序
  • mongod:MongoDB服务端程序
  • 默认由mongodb用户运行

Config mongod

注:

  • ubuntu安装完成后没有生成 mongod.service脚本
  • centos有生成mongod.service服务脚本,root账号使用该脚本时需要修改脚本相关属性为root。如果不配置此脚本将会导致服务启动失败。
  • 在mongod.conf中一定要开启Linux后台运行配置选项

创建目录文件

1
2
3
4
5
6
# 创建数据存放目录
$ mkdir -p /home/mongo/data/db

# 创建日志文件存放目录
$ mkdir -p /home/mongo/log/
$ cd /home/mongo/log/ && touch mongod.log

配置数据和日志文件目录

1
2
3
4
5
6
$ vim /etc/mongod.conf

storage:
  dbPath: /home/mongo/data/db
systemLog: 
  path: /home/mongo/log/mongod.log

配置远程访问

1
2
3
4
5
6
7
8
net: 
  port: 27017
  bindIp: 127.0.0.1
# 多个ip配置方式如下
# bindIp: [127.0.0.1,192.168.1.105,xxx]

# bindIp: 127.0.0.1 表示只允许本地连接
# bindIp: 0.0.0.0   表示允许所有外网连接

开启Linux后台运行

1
2
processManagement:
  fork: true

配置实例:

配置文件

CentOS的配置步骤

  • 配置 mongod.conf
  • 软连接 /home/mongo/mongod.conf 到 /etc/mongod.conf(可选)
  • 修改 mongo.service配置

Enable configure file

ubuntu

  • 直接启动

    1
    2
    3
    
    $ mongod --config /etc/mongod.conf 
    # 或者
    $ mongod -f /etc/mongod.conf
  • 开机启动

    1
    2
    3
    4
    5
    6
    
    # 将MongoDB启动配置文件加入到开机启动脚本
    $ vim /etc/profile
    
    # Set MongoDB Config
    # `&` 表示在后台执行该命令,如果不加则会导致阻塞
    $ /usr/bin/mongod --config /etc/mongod.conf &   

centos

  • mongod.serice 控制

运行

  • Start MongoDB

    1
    2
    3
    4
    
    $ sudo service mongod start
    $ systemctl start mongod
    # 启动客户端
    $ mongo
  • Stop MongoDB

    1
    2
    
    $ sudo service mongod stop
    $ systemctl stop mongod
  • Restart MongoDB

    1
    2
    
    $ sudo service mongod restart
    $ systemctl restart mongod
  • Lookup status

    1
    2
    
    $ sudo service mongod status
    $ systemctl status mongod

卸载

  • 先停止MongoDB服务

    1
    
    $ sudo service mongod stop 
  • 删除软件包

    1
    2
    
    $ apt-get purge mongodb-org*
    $ sudo yum erase $(rpm -qa | grep mongodb-org)
  • 删除数据和日志文件

    1
    2
    
    $ rm -rf /home/data/db/
    $ rm -rf /home/data/log/

See Also

Thanks to the authors 🙂

返回目录