暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

启动Mongodb服务,启动参数详细说明

103

你的安装目录/bin
下,有一个叫mongod.exe
的应用程序,这个程序就是用来启动你的mongodb服务器的。


创建数据库目录

在你想要存放数据的地方,新建一个文件夹,如db
,我们推荐的数据库目录设置是:

  1. data/

  2. conf -->配置文件目录

  3. mongod.conf -->配置文件

  4. db -->数据库目录

  5. log -->日志文件目录

  6. mongodb.log -->日志记录文件


启动数据库

我本地是window10环境,我的mongodb服务安装在F
盘的mongodb文件夹。我的数据目录在F
data
文件夹。

启动doc
命令,输入一下命令:

  1. F:\>mongodb/bin

  2. F:\mongodb\bin>mongod --path=/data/db

输出以下信息:

  1. 2016-10-20T17:11:01.839+0800 I CONTROL [initandlisten] MongoDB starting : pid=1504 port=27017 dbpath=/data/db 64-bit host=Haier-PC

  2. 2016-10-20T17:11:01.842+0800 I CONTROL [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2

  3. 2016-10-20T17:11:01.844+0800 I CONTROL [initandlisten] db version v3.0.12-47-gd57ef6a

  4. 2016-10-20T17:11:01.844+0800 I CONTROL [initandlisten] git version: d57ef6a0c5a41729977f8d535a4c8de6d0cff8ba

  5. 2016-10-20T17:11:01.844+0800 I CONTROL [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_49

  6. 2016-10-20T17:11:01.844+0800 I CONTROL [initandlisten] allocator: tcmalloc

  7. 2016-10-20T17:11:01.844+0800 I CONTROL [initandlisten] options: { storage: { dbPath: "/data/db" } }

  8. 2016-10-20T17:11:01.860+0800 I JOURNAL [initandlisten] journal dir=/data/db\journal

  9. 2016-10-20T17:11:01.862+0800 I JOURNAL [initandlisten] recover : no journal files present, no recovery needed

  10. 2016-10-20T17:11:01.971+0800 I JOURNAL [durability] Durability thread started

  11. 2016-10-20T17:11:01.972+0800 I JOURNAL [journal writer] Journal writer thread started

  12. 2016-10-20T17:11:02.186+0800 I INDEX [initandlisten] allocating new ns file /data/db\local.ns, filling with zeroes...

  13. 2016-10-20T17:11:02.553+0800 I STORAGE [FileAllocator] allocating new datafile /data/db\local.0, filling with zeroes...

  14. 2016-10-20T17:11:02.554+0800 I STORAGE [FileAllocator] creating directory /data/db\_tmp

  15. 2016-10-20T17:11:02.600+0800 I STORAGE [FileAllocator] done allocating datafile /data/db\local.0, size: 64MB, took 0.012 secs

  16. 2016-10-20T17:11:02.654+0800 I NETWORK [initandlisten] waiting for connections on port 27017

最后一行显示"waiting for connections on port 27017",表明mongodb服务器已经启动,正在27017窗口等待连接。

再查看f:/data/db
文件夹,已出现以下文件:

说明mongodb服务启动成功。


将MongoDB服务器作为Windows服务运行

像上面那样启动mongodb,发现没办法输入命令行了,这是可以采用打开多个窗口来连接,但这样就太麻烦了,解决办法就是将MongoDB服务器作为Windows服务运行。

输入以下命令:

  1. F:\mongodb\bin>mongod --dbpath "f:\data\db" --logpath "f:\data\log\mongodb.log" --serviceName "mongodb" --serviceDisplayName "mongodb" --install

看到了如下输出:

  1. 2016-10-20T23:32:46.339+0800 I CONTROL log file "f:\data\log\mongodb.log" exists; moved to "f:\data\log\mongodb.log.2016-10-20T15-32-46".

说明mongodb服务安装成功。启动mongodb服务:

  1. F:\mongodb\bin>net start mongodb

  2.  

  3. MongoDB 服务已经启动成功。

说明mongodb启动成功。

由于我们并没有指定mongodb服务的端口号,所以它启动在默认的27017
窗口。

打开浏览器,范围地址http://127.0.0.1:27017/
,可看到如下信息

  1. It looks like you are trying to access MongoDB over HTTP on the native driver port.



mongodb常用启动参数

mongod.exe
常用参数如下


参数描述
--bind_ip绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
--logpath定MongoDB日志文件,注意是指定文件不是目录
--logappend使用追加的方式写日志
--dbpath指定数据库路径
--port指定服务端口号,默认端口27017
--serviceName指定服务名称
--serviceDisplayName指定服务名称,有多个mongodb服务时执行。
--install指定作为一个Windows服务安装。

mongod.exe
的启动参数,在window环境下和linux环境下并不相同


mongod.exe
是mongodb服务的启动工具。

我们可以通过mongod --help
查看mongod的所有参数说明,以下是各参数的中文解释。

基本配置参数

参数说明
--quiet# 安静输出
--port arg# 指定服务端口号,默认端口27017
--bind_ip arg# 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
--logpath arg# 指定MongoDB日志文件,注意是指定文件不是目录
--logappend# 使用追加的方式写日志
--pidfilepath arg# PID File 的完整路径,如果没有设置,则没有PID文件
--keyFile arg# 集群的私钥的完整路径,只对于Replica Set 架构有效
--unixSocketPrefix arg# UNIX域套接字替代目录,(默认为 tmp)
--fork# 以守护进程的方式运行MongoDB,创建服务器进程
--auth# 启用验证
--cpu# 定期显示CPU的CPU利用率和iowait
--dbpath arg# 指定数据库路径
--diaglog arg# diaglog选项 0=off 1=W 2=R 3=both 7=W+some reads
--directoryperdb# 设置每个数据库将被保存在一个单独的目录
--journal# 启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里
--journalOptions arg# 启用日志诊断选项
--ipv6# 启用IPv6选项
--jsonp# 允许JSONP形式通过HTTP访问(有安全影响)
--maxConns arg# 最大同时连接数 默认2000
--noauth# 不启用验证
--nohttpinterface# 关闭http接口,默认关闭27018端口访问
--noprealloc# 禁用数据文件预分配(往往影响性能)
--noscripting# 禁用脚本引擎
--notablescan# 不允许表扫描
--nounixsocket# 禁用Unix套接字监听
--nssize arg (=16)# 设置信数据库.ns文件大小(MB)
--objcheck# 在收到客户数据,检查的有效性,
--profile arg# 档案参数 0=off 1=slow, 2=all
--quota# 限制每个数据库的文件数,设置默认为8
--quotaFiles arg# number of files allower per db, requires --quota
--rest# 开启简单的rest API
--repair# 修复所有数据库run repair on all dbs
--repairpath arg# 修复库生成的文件的目录,默认为目录名称dbpath
--slowms arg (=100)# value of slow for profile and console log
--smallfiles# 使用较小的默认文件
--syncdelay arg (=60)# 数据写入磁盘的时间秒数(0=never,不推荐)
--sysinfo# 打印一些诊断系统信息
--upgrade# 如果需要升级数据库

Replicaton 参数

参数说明
--fastsync# 从一个dbpath里启用从库复制服务,该dbpath的数据库是主库的快照,可用于快速启用同步
--autoresync# 如果从库与主库同步数据差得多,自动重新同步,
--oplogSize arg# 设置oplog的大小(MB)

主/从参数

参数说明
--master# 主库模式
--slave# 从库模式
--source arg# 从库 端口号
--only arg# 指定单一的数据库复制
--slavedelay arg# 设置从库同步主库的延迟时间

Replica set(副本集)选项:

参数说明
--replSet arg# 设置副本集名称

Sharding(分片)选项

--configsvr# 声明这是一个集群的config服务,默认端口27019,默认目录/data/configdb
--shardsvr# 声明这是一个集群的分片,默认端口27018
--noMoveParanoia# 关闭偏执为moveChunk数据保存

示例

  1. ./mongod -shardsvr -replSet shard1 -port 16161 -dbpath data/mongodb/data/shard1a -oplogSize 100 -logpath /data/mongodb/logs/shard1a.log -logappend -fork -rest

上述参数都可以写入 mongod.conf 配置文档里例如:

  1. dbpath = /data/mongodb

  2. logpath = /data/mongodb/mongodb.log

  3. logappend = true

  4. port = 27017

  5. fork = true

  6. auth = true



文章转载自程序员编程日记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论