zoukankan      html  css  js  c++  java
  • centos7下搭建 MongoDB -01

    距离上次写的一篇mongoDB搭建已经有一年多的时间了,刚好这次在公司搭建好在centos7下的mongodb搭建,简单的做一个记录吧

    mongo 是一个基于分布式文件存储的数据库,数据主要存储在磁盘跟cpu中(一些基本的介绍我这里就不提了,执行百度)

    直接进入正题:

     1、我在这里新建了一个目录

    mkdir /mongo

    1、下载
    cd mongodb
    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.8.tgz
    2、解压
    [root@cli mongodb]# tar -zxvf mongodb-linux-x86_64-rhel70-3.2.8.tgz
    mongodb-linux-x86_64-rhel70-3.2.8/README
    mongodb-linux-x86_64-rhel70-3.2.8/THIRD-PARTY-NOTICES
    mongodb-linux-x86_64-rhel70-3.2.8/MPL-2
    mongodb-linux-x86_64-rhel70-3.2.8/GNU-AGPL-3.0
    mongodb-linux-x86_64-rhel70-3.2.8/bin/mongodump
    mongodb-linux-x86_64-rhel70-3.2.8/bin/mongorestore
    mongodb-linux-x86_64-rhel70-3.2.8/bin/mongoexport
    mongodb-linux-x86_64-rhel70-3.2.8/bin/mongoimport
    mongodb-linux-x86_64-rhel70-3.2.8/bin/mongostat
    mongodb-linux-x86_64-rhel70-3.2.8/bin/mongotop
    mongodb-linux-x86_64-rhel70-3.2.8/bin/bsondump
    mongodb-linux-x86_64-rhel70-3.2.8/bin/mongofiles
    mongodb-linux-x86_64-rhel70-3.2.8/bin/mongooplog
    mongodb-linux-x86_64-rhel70-3.2.8/bin/mongoperf
    mongodb-linux-x86_64-rhel70-3.2.8/bin/mongod
    mongodb-linux-x86_64-rhel70-3.2.8/bin/mongos
    mongodb-linux-x86_64-rhel70-3.2.8/bin/mongo

    [root@cli mongodb]# mv mongodb-linux-x86_64-rhel70-3.2.8 mongodb3.2.8
    [root@cli mongodb]# cd mongodb3.2.8/
    3 在 /usr/local/mongodb/mongodb3.2.4/bin/ 目录中创建一个存放日志的目录:
    [root@cli mongodb3.2.8]# mkdir -p data/db
    4. 目录中创建一个存放数据文件的目录
    [root@cli mongodb3.2.8]# mkdir -p data/logs
    5.进入 bin 目录中
    [root@cli mongodb3.2.8]# cd bin
    6.创建配置文件 mongodb.conf:
    [root@cli bin]# vim mongodb.conf

    # idae - MongoDB config start - 2017-12-06
    # 设置数据文件的存放目录
    dbpath = /mongodb/mongodb3.2.8/data/db
    # 设置日志文件的存放目录及其日志文件名
    logpath =/mongodb/mongodb3.2.8/data/logs/mongodb.log
    # 设置端口号(默认的端口号是 27017)
    port = 27017
    # 设置为以守护进程的方式运行,即在后台运行
    fork = true
    # nohttpinterface = true
    nohttpinterface = true
    # idae - MongoDB config end - 2017-12-06

    按英文状态下的“:wq”保存并退出;

    参数解释:
    --dbpath 数据库路径(数据文件)
    --logpath 日志文件路径
    --master 指定为主机器
    --slave 指定为从机器
    --source 指定主机器的IP地址
    --pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
    --logappend 日志文件末尾添加,即使用追加的方式写日志
    --journal 启用日志
    --port 启用端口号
    --fork 在后台运行
    --only 指定只复制哪一个数据库
    --slavedelay 指从复制检测的时间间隔
    --auth 是否需要验证权限登录(用户名和密码)
    --syncdelay 数据写入硬盘的时间(秒),0是不等待,直接写入
    --notablescan 不允许表扫描
    --maxConns 最大的并发连接数,默认2000
    --pidfilepath 指定进程文件,不指定则不产生进程文件
    --bind_ip 绑定IP,绑定后只能绑定的IP访问服务

    7 将 mongodb 服务加入到自启动文件中:
    vi /etc/rc.local
    在文件末尾追加如下命令:
    /mongodb/mongodb3.2.8/bin/mongod --config /mongodb/mongodb3.2.8/bin/mongodb.conf
    保存并退出:
    :wq!
    --------------------------------------------------------------------------------

    ./bin/mongo

    use admin

    db.createUser({user:"admin", pwd:"123456",roles:[{role:"root", db:"LogSystem"}]})

    关闭数据库服务器:
    use admin
    db.shutdownServer()

    在这里主从架构(副本集模式)如果设置 auth = true
    那么从服务器没有办法验证主服务器,需要在主从加上验证文件
    在主服务器中执行命令
    openssl rand -base64 741 >> /mongodb/mongodb.key
    生成文件的字节数必须小于1024

    生成的文件格式设置成600
    chmod 600 /mongodb/mongodb.key
    在这里已经生成了 mongodb.key,将他scp到各台从服务器上,然后在各台机器上配置 keyFile

    然后在mongodb.conf 中添加
    keyFile = /mongodb/mongodb.key

  • 相关阅读:
    Codeforces 877 C. Slava and tanks
    Codeforces 877 D. Olya and Energy Drinks
    2017 10.25 NOIP模拟赛
    2017 国庆湖南 Day1
    UVA 12113 Overlapping Squares
    学大伟业 国庆Day2
    51nod 1629 B君的圆锥
    51nod 1381 硬币游戏
    [JSOI2010]满汉全席
    学大伟业 2017 国庆 Day1
  • 原文地址:https://www.cnblogs.com/jhy55/p/8081229.html
Copyright © 2011-2022 走看看