• 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

  • 相关阅读:
    虚函数/纯虚函数/抽象类/接口/虚基类
    泛型编程
    C++解题报告 : 迭代加深搜索之 ZOJ 1937 Addition Chains
    C++题解:Matrix Power Series ——矩阵套矩阵的矩阵加速
    C++矩阵加速经典题目:Warcraft III 守望者的烦恼 [vijos 1067]
    C++数论板题(弹药科技):Lengendre定理和欧拉函数
    Java并发工具包提供了哪些并发工具类
    Mac OS X系统深入了解--系统文件结构篇(二)
    Mac OS X系统深入了解--系统文件结构篇(一)
    Java Web(一) Servlet详解!!
  • 原文地址:https://www.cnblogs.com/jhy55/p/8081229.html
Copyright © 2020-2023  润新知