1

MongoDB | 安装和配置

 2 years ago
source link: https://ijayer.github.io/post/tech/db/mongodb/20170307-install-and-config/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

# 创建数据存放文件夹		
$ 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

$ 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

# 启动服务
$ 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

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

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

    [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后台运行配置选项

创建目录文件

# 创建数据存放目录
$ mkdir -p /home/mongo/data/db

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

配置数据和日志文件目录

$ vim /etc/mongod.conf

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

配置远程访问

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后台运行

processManagement:
  fork: true

配置实例:

CentOS的配置步骤

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

Enable configure file

ubuntu

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

centos

  • mongod.serice 控制
  • Start MongoDB

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

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

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

    $ sudo service mongod status
    $ systemctl status mongod
  • 先停止MongoDB服务

    $ sudo service mongod stop 
  • 删除软件包

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

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

See Also

Thanks to the authors 🙂

返回目录


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK