一、安装
1、从官方网站现在稳定的mongo版本。
2、对下载的mongodb-linux-x86_64-rhel62-3.6.0.tgz文件进行解压 tar zxvf mongodb-linux-x86_64-rhel62-3.6.0.tgz
3、重命名解压后的文件夹为mongodb mv mongodb-linux-x86_64-rhel62-3.6.0 mongodb
4、将解压后的文件移动到指定的mongo目录下 mv -r mongodb /usr/local/
5、在/usr/local/mongodb目录下创建数据文件夹 mkdir data
6、在/usr/local/mongodb目录下创建数据文件用来保存日志 touch log
7、在/usr/local/mongodb/bin目录下创建配置文件 touch mongodb.conf
8、在配置文件中添加配置信息。
二、关闭和启动
启动服务
./mongod -f mongodb.conf
关闭服务
./mongod -shutdown -dbpath=/usr/local/mongodb/data
三、配置文件设置
基础部分:
port = 27017 //设置mongo服务的端口号
bind_ip = 127.0.0.1 //服务运行时绑定的地址,默认127.0.0.1,只能通过本地连接。进程绑定和监听来自这个地址上的应用连接。要是需要给其他服务器连接,则需要注释掉这个或则把IP改成本机
地址可以用一个逗号分隔的列表绑定多个IP地址。
maxConns = 100 //最大连接数。默认值:取决于系统(即的ulimit和文件描述符)限制。MongoDB中不会限制其自身的连接。当设置大于系统的限制,则无效,以系统限制为准。这对于客户端创
建很多“表”,允许连接超时而不关闭“表”的时候很有用。设置该值的高于连接池和总连接数的大小,以防止尖峰时候的连接。
logpath=/var/log/mongodb/mongodb.log //指定日志文件,该文件将保存所有的日志记录、诊断信息。除非另有指定,mongod将所有的日志信息输出到标准输出。如果没有指定logappend,重启
则日志会进行覆盖操作。
logappend=true //写日志的模式:设置为true为追加。默认是覆盖。如果未指定此设置,启动时MongoDB的将覆盖现有的日志文件。
pidfilepath = /var/run/mongo.pid //进程ID,没有指定则启动时候就没有PID文件。默认缺省。
. fork = true //是否后台运行,设置为true 启动 进程在后台运行的守护进程模式。默认false。
cpu = true //设置为true会强制mongodb每4s报告cpu利用率和io等待,把日志信息写到标准输出或日志文件。默认为false。
dbpath=/var/lib/mongodb //数据存放目录。
diaglog //创建一个非常详细的故障排除和各种错误的诊断日志记录。默认0。设置为1,为在dbpath目录里生成一个diaglog.开头的日志文件,设置不等于0,日志会每分钟flush 一次,他的值如下:
Value | Setting |
0 | off. No logging. #关闭。没有记录。 |
1 | Log write operations. #写操作 |
2 | Log read operations. #读操作 |
3 | Log both read and write operations. #读写操作 |
7 |
Log write and some read operations. #写和一些读操作 |
directoryperbd=true //设置为true,修改数据目录存储模式,每个数据库的文件存储在DBPATH指定目录的不同的文件夹中。使用此选项,可以配置的MongoDB将数据存储在不同的磁盘设备上,以提高写
入吞吐量或磁盘容量。默认为false。
journal = true //设置为true,启用操作日志,以确保写入持久性和数据的一致性,会在dbpath目录下创建journal目录。
profile=0 //数据库分析等级设置。记录一些操作性能到标准输出或则指定的logpath的日志文件中,默认0:关闭。他的值如下:
级别 | 设置 |
0 | 关闭,无设置 |
1 | 开启慢查询操作 |
2 | 开启所有操作 |
slowms = 200 //记录profile分析的慢查询的时间,默认是100毫秒。
quota=true:配额,默认false。是否开启配置每个数据库的最多文件数的限制。
quotaFiles=8:配额数量。每个数据库的数据文件数量的限制。此选项需要quota为true。默认为8。
复制集部分:
replSet:使用此设置来配置复制副本集。指定一个副本集名称作为参数,所有主机都必须有相同的名称作为同一个副本集。
oplogSize:指定的复制操作日志(OPLOG)的最大大小。mongod创建一个OPLOG的大小基于最大可用空间量。对于64位系统,OPLOG通常是5%的可用磁盘空间。 一旦mongod第一次创建OPLOG,
改变oplogSize将不会影响OPLOG的大小。
fastsync:默认为false。在副本集下,设置为true,从一个dbpath里启用从库复制服务,该dbpath的数据库是主库的快照,可用于快速启用同步,否则的mongod将尝试执行初始同步。注意:如果数据不
完全同步,mongod指定fastsync开启,secondary或slave与主永久不同步,这可能会导致显着的一致性问题。
replIndexPrefetch:2.2版本出现的新参数,默认是all。可以设置的值有:all, none, and _id_only。只能在副本集(replSet)中使用。默认情况下,secondary副本集的成员将加载所有索引到内存中
(从OPLOG之前的操作有关的)。您可以修改此行为,使secondary只会加载_id索引。指定_id_或none,防止mongod的任何索引加载到内存。
Master/Slave Replication:主从复制的相关设置 master:默认为false,当设置为true,则配置当前实例作为主实例。
source:默认为空,格式为:<host><:port>。用于从实例的复制:设置从的时候指定该选项会让从复制指定主的实例 source = 127.0.0.1:30001only:默认为空,用于从选项,指定一个数据库进行复制。
slavedelay:设置从库同步主库的延迟时间,用于从设置,默认为0。
autoresync:默认为false,用于从设置。是否自动重新同步。设置为true,如果落后主超过10秒,会强制从自动重新同步。如果oplogSize太小,此设置可能有问题。如果OPLOG大小不足以存储主的变化状
态和从的状态变化之间的差异,这种情况下强制重新同步是不必要的。当设置autoresync选项设置为false,10分钟内从不会进行大于1次的自动重新同步。