MongoDB系列(详细笔记)——启动和停止

文章目录

        • 1.1 命令行方式启动和参数
        • 1.2启动参数(可以不用看,一般用到的很少)
        • 1.3 配置文件方式启动
        • 1.4 启动MongoDB客户端
        • 1.5 关闭MongoDB
        • 1.6 设置MongoDB开机启动
        • 1.7 修复未正常关闭的MongoDB
        • 参考阅读

1.1 命令行方式启动和参数

windows系统命令行启动

第一步:
新建一个目录用来存放MongoDB的数据库文件,目录可以自己选择,这里我已经新建目录 E:\data\db
第二步:
打开cmd窗口,键入 mongod --dbpath E:\data\db
MongoDB系列(详细笔记)——启动和停止_第1张图片

这里 --dbpath的参数值,就是我们第一步新建的文件夹。这个文件夹一定要在开启服务命令之前事先建立好,否则会报错,MongoDB不会自己创建。

连接成功的话,就会出现这个:
MongoDB系列(详细笔记)——启动和停止_第2张图片
(linux 系统中的启动,我先留在这里,之后来补)


1.2启动参数(可以不用看,一般用到的很少)

(注:这里应该都是两个小杠 ,不知道为什么显示出来就变成一条了)

  1. 基本配置
    –dbpath参数:指定数据库文件保存路径,默认为/data/db。
    –port参数:指定服务端口号,默认端口27017。
    –bindip参数:限制监1,基本配置
    –dbpath参数:指定数据库文件保存路径,默认为/data/db。
    –port参数:指定服务端口号,默认端口27017。
    –bindip参数:限制监听ip,指定多个ip时用逗号隔开。
    –logpath参数:指定MongoDB日志文件,注意是指定文件不是目录。
    –logappend:使用追加的方式写日志
    –fork:以守护进程的方式运行MongoDB,创建服务器进程。
    –auth:启用验证。
    –journal:启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里。
    –joumalOptions参数:启用日志诊断选项。
    –repair:修复所有数据库。
    –repairpath参数:修复数据库时使用的处理目录,默认是在dbpath路径下的tmp
    目录。
    –quiet:屏蔽部分MongoDB服务信息输出,只打印重要信息
    –pidfilepath参数:PIDFile的完整路径,如果没有设置,则没有PID文件。
    –keyFile参数:集群的私钥的完整路径,只在副本集架构中生效。
    –unixsocketprefix采数:UNIX域套接字替代目录,(默认为在mp)。
    –CPU:定期显示CPU的CPU利用率和iowait。听ip,指定多个ip时用逗号隔开。
    –logpath参数:指定MongoDB日志文件,注意是指定文件不是目录。
    –logappend:使用追加的方式写日志
    –fork:以守护进程的方式运行MongoDB,创建服务器进程。
    –auth:启用验证。
    –journal:启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里。
    –joumalOptions参数:启用日志诊断选项。
    –repair:修复所有数据库。
    –repairpath参数:修复数据库时使用的处理目录,默认是在dbpath路径下的tmp
    目录。
    –quiet:屏蔽部分MongoDB服务信息输出,只打印重要信息
    –pidfilepath参数:PIDFile的完整路径,如果没有设置,则没有PID文件。
    –keyFile参数:集群的私钥的完整路径,只在副本集架构中生效。
    –unixsocketprefix采数:UNIX域套接字替代目录,(默认为在mp)。
    –CPU:定期显示CPU的CPU利用率和iowait。
    –diaglog参数:创建一个非常详细的故障排除和各种错误的诊断日志记录。参数默
    认为0表示关闭;1表示记录写操作;2表示记录读操作;3表示记录读写操作;7
    表示记录写和一些读操作。
    –directoryperdb:设置每个数据库将被保存在一个单独的目录。
    –ipv6:启用IPv6选项。
    –jsonp:允许JSONP形式通过访问(有安全影响)。
    –maxConns参数:最大同时连接数,默认2000。
    –noauth:不启用验证,默认不启用。
    –nohttpinterface:关闭http接口,默认关闭27018端口访问。
    –noprealloc:禁用数据文件预分配(往往影响性能)。
    –noscripting:禁用脚本引擎。
    –notablescan:不允许表扫描
    –nounixsocket:禁用UNIX套接字监听。
    –nssize参数(=16):设置数据库,ns文件大小(MB)。
    –obJcheck:在收到客户数据时,检查的有效性。
    –profile参数:数据库分析等级设置。记录一些操作性能到标准输出或者指定的
    logpath的日志文件中,默认0表示关闭;1表示开,仅包括慢操作;2表示开,包
    括所有操作。
    –quota:限制每个数据库的文件数。
    –quotaFiles参数:限制每个数据库的文件数设置,默认为8,需要–quota配合使
    用。
    –rest:开启简单的restAPI,默认关闭。
    –slowms参数(=100):valueofslowforprofileandconsolelogo
    –smallfiles:使用较小的默认文件。
    –syncdelay参数(=60):数据写入磁盘的时间秒数(0=never,不推荐)。
    –sysinfo:打印一些诊断系统信息。
    –upgrade:如果需要,自动升级数据库。

  2. 复制参数
    –fastsync:从一个dbpath里启用从库复制服务,该dbpath的数据库是主库的快昭
    可用于快速启用同步。
    –autoresync:如果从库与主库同步数据差得多,自动重新同步。
    –oplogSize参数:设置oplog的大小(MB)。

  3. 主从参数
    –master:主库模式。
    –slave:从库模式。
    –source,参数:从,库端口号。
    –only参数:指定单一的数据库复制。

  4. 副本集参数
    –slavedelay参数:设置从库同步主库的延迟时间。
    副本集参数
    –replSet参数:设置副本集名称。
    分片参数。
    –configsvr:声明这是一个集群的config服务,默认端口27019,
    /datæ/configdb。
    –shardsvr:声明这是一个集群的分片,默认端口27018。
    –noMoveParanoia:关闭paranoid模式

上述参数都可以写入mongod.conf配置文档里,基本配置中的前几项比较常用,其他的
参数就要用得少一些。在后面副本集和分片章节中我们会用到复制相关的参数。


1.3 配置文件方式启动

我们已经学习了如何用命令行启动MongoDB服务,在这个过程中需要配置我们的参
数,例如数据库文件存放路径,以及日志log文件存放路径等。但是如果是几个同事共同管
理MongoDB,当有参数变化时,需要随时相互交流沟通,并更新启动MongoDB的命令行,
而且命令行容易输入错误,给MongoDB的管理和维护造成了不便。针对这种情况,
提供了读取启动配置文件的方式来启动数据库。在生产环境中我们也建议使用这种
方式来管过启动MongoDB。

(这一块先留着,我有时间再来补充,嘻嘻嘻~)


1.4 启动MongoDB客户端

只要找到mongo的可执行文件运行,就可以进入MongoDB客户端。一般来说,它与mongod服务段启动可执行文件在同一个目录下。我们以windows为例,新建一个cmd窗口,进入安装目录的bin下,执行mongo命令既可。
(注意,需要保持服务端开启的状态下!)
MongoDB系列(详细笔记)——启动和停止_第3张图片
linux 以及其他系统也类似,找到mongo 客户端可执行文件所在目录,使用命令mongo就可以启动了。

1.5 关闭MongoDB

windows 系统下有三种关闭方式。

方式一:关闭当前服务端窗口(不推荐
windows版本的MongoDB不支持使用 --fork 参数后台运行,所以当前服务端cmd窗口关闭,mongo也会关闭,但这种方式容易导致未正常关闭的MongoDB下次启动不起来,或者是无法连接。修复方式后面有哦。

方式二:在当前服务端窗口使用 ctrl + c (推荐)
MongoDB会自己做清理退出,把没有写好的数据写好,并关闭服务。
MongoDB系列(详细笔记)——启动和停止_第4张图片

方式三:进入mongo客户端运行命令停止 (推荐
重新打开一个cmd窗口,进入bin 目录,运行客户端。然后使用admin用户,使用命令shurdownServer 关闭。


1.6 设置MongoDB开机启动

这里可以参考菜鸟教程
MongoDB系列(详细笔记)——启动和停止_第5张图片


1.7 修复未正常关闭的MongoDB

MongoDB如果未正常关闭,会导致无法启动的现象

1.MongoDB服务无法启动,弹出框报错:Windows无法启动MongoDB服务错误1067:
进程意外终止。在事件查看器中可以看到该错误:MongoDB服务因无法创建另一个系统信
号灯,服务特定错误而停止。

2.解决方法
进入MongoDB安装目录/data/,将此文件夹下的mongod.lock删除,使用该方法
MongoDB服务可以启动起来。Linux系统可以使用find/-name’mongod.lock’查找路径,数
据方面不会受到影响。mongod.lock文件是MongoDB服务端启动后在硬盘中创建的一个锁文件,果你正常退出MongoDB服务,该文件即使还存在,也不会影响下一次启动MongoDB服务。
这个文件还会记录MongoDB在运行过程中的一些状态,以便在正常重新启动务时能
够获以异常信息提示。
删除lock文件之后,如果有损坏文档,需要使用mongod–repair命令修一次,再正常
启动,修复数据库的实际过程很简单:将所有的文档导出后马上导入,忽略无效的文档,完成以后会重建索引。因为所有数据都要验证,所有索引都要重建,数据量大的活,会花较多时间。数据量大的情况下,临时修复目录所在磁盘空间一定要人,否则会出现磁盘容量不够的提示,无法修复。


参考阅读

mongodb官网
菜鸟教程 mongodb开机启动

你可能感兴趣的:(数据库)