MongoDB的启动与停止

  • 一、命令行方式启动和参数
    • 1、Windows系统命令行启动MongoDB
    • 2、Linux系统命令行启动MongoDB
  • 二、启动参数
    • 1.基本配置
    • 2.复制参数
    • 3.主从参数
    • 4.副本集参数
  • 三、配置文件方式启动
  • 四、启动MongoDB客户端
    • 1.Windows 系统
    • 2.Linux系统
  • 五、关闭MongoDB
    • 1.Windows系统
    • 2.Linux系统
  • 六、设置MongoDB开机启动
    • 1.Windows系统
    • 2.Linux系统
  • 七、修复未正常关闭的MongoDB
    • 1.现象
    • 2.解决方法

START

一、命令行方式启动和参数

1、Windows系统命令行启动MongoDB

打开安装目录,双击mongo.exe

MongoDB4.4,关闭MongoDB窗口,服务器不会关闭!

2、Linux系统命令行启动MongoDB

第一步,新建MongoDB数据库文件存放的路径,这里新建/mongodb/data,使用命令如下:

-p参数表示需要时创建上层目录,如目录早已存在不当做错误。

然后查看MongoDB的启动可执行文件mongodb在哪个路径,使用命令:

我们是通过在线仓库yum安装的,找到的可执行文件路径为/usr/bin,如果是官网安装包解压安装的话,解压路径就是安装路径。因为我们的mongod可执行文件的路径是/usr/bin/mongod,所以启动命令为:

/usr/bin/mongod --dbpath==/mongodb/data

–dbpath参数值是我们第一步新建的用来指定存放数据文件的文件夹。

Linux 中想要在任何路径下不带 MongoDB 安装路径启MongoDB ,需要把 MongoDB的安装路径中的 bin 目录添加到环境变量。如果是通过yum命令等在线安装的方式安装的MongoDB,已经自动把 MongoDB 的安装路径中的 bin 目录添加到环境变量中,所以可以在任何路径下通过以下命令启动 MongoDB:

mongod --dbpath==/mongodb/data

MongoDB启动界面

二、启动参数

使用 mongod 命令启动 MongoDB 数据库服务时可以设置非常多的参数。默认情况下,最重要的参数就是数据库文件存放的路径/data/db ,只要/data/db 路径有访问权限就能启动MongoDB服务。其他参数可适当选用。

mongod 的启动参数说明如下。

1.基本配置

–dbpath 参数:指定数据库文件保存路径,默认为/data/db

–port 参数:指定服务端口号,默认端口 27017

–bind_ip 参数:限制监听 ip ,指定多个 ip 时用逗号隔开

–fork:以守护进程的方式运行MongoDB ,创建服务器进程

还有许多其他参数,这里不一一列出

2.复制参数

–fastsync:从一个dbpath里启用从库里复制服务,该dbpath的数据库是主库的快照。可用于快速启用同步。

–autoresync:如果从库与主库同步数据差得多,自动重新同步。

–oplogSize参数:设置oplog的大小(MB)。

3.主从参数

–master:主库模式

–slave:从库模式

–source参数:从库端口号

–only参数:指定单一的数据库复制

–slavedelay参数:设置从库同步主库的延迟时间

4.副本集参数

–replSet参数:设置副本集名称。

–configsvr:声明这是一个集群的config服务,默认端口27019,默认目录/data/configdb。

–shardsvr:声明这是一个集群的分片,默认端口号27018。

–noMoveParanoria:关闭paranoid模式。

三、配置文件方式启动

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

yum 命令等在线安装方式安装的 MongoDB 会自动生成一个/etc/mongod.conf 配置文件,使用 cat 命令查看配置文件:

配置文件内容为:

注:由于本人虚拟机配置的桥接模式出了问题,导致ping不通网络,故不能使用PuTTY连接装有MongoDB的CentOS7,只能直接在CentOS7上使用命令,从而导致截图不全!

#表示是注释内容,用于说明配置文件的参数作用。更多的配置参数可查看官网文档http://docs.mongodb.org/manual/reference/configuration-options/。基本日志的参数分为几大块,分别是日志配置systemLog 存储路径配置 storage 、网络配置 net ,以及进程管理processManagement。

使用配置文件启动MongoDB:

注:这个命令在 Windows 系统、 Linux 系统以及 Mac OS 系统中通用。

四、启动MongoDB客户端

mongo.exe 就是客户端的启动程序,只要找到 mongo 的可执行文件运行,即可进入 MongoDB 的客户端。 一般来说, mongo 可执行文件与 mongod 服务端启动可执行文件在同一个目录下。

1.Windows 系统

进入mongodb安装目录,双击mongo.exe即可启动MongoDB 的客户端。

或者

2.Linux系统

进入安装 目录下的 bin 目录中,执行 mongo 命令即可(切记需要保持服务端开启的状态下)

五、关闭MongoDB

1.Windows系统

方式一:关闭当前客户端窗口[不推荐]

方式二:在当前客户端窗口使用Ctrl+C,关闭客户端。[推荐]

方式三:进入mongo客户端运行命令停止

进入 mongodb 安装目录下的 bin 目录,运行客户端。然后使用admin 用户 ,使用命令 shutdown Server 关闭,同时关闭服务端和客户端

2.Linux系统

方式一:在当前客户端窗口使用 Ctrl+C ,关闭客户端

Ctrl+C 命令在 Shell 界面里也是结束操作的意思。在当前 MongoDB 服务端 Shell 窗口使用Ctrl+C, MongoDB 会自己做清理退出,把没有写好的数据写完成,并关闭 MongoDB 客户端。

方式二:进入mongo客户端运行命令停止,同时关闭服务端和客户端。(推荐):

进入 mongo 执行文件所在的 bin 目录,运行客户端。然后使用admin 用户,使用命令 shutdown Server 关闭。完整代码如下:

cd /usr/bin
mongo
use admin
db.shutdownSever();

结果截图:

方式三:Kill命令停止进程:

使用 kill 命令停止 MongoDB 数据库实例,必须现找到实例的进程,使用命令:

ps aux|grep mongod

我们看到执行启动 mongod 命令的进程号 PID 1563 ,这个就是 MongoDB 数据库实例的进程,然后可以使用 kill-2 PID 或者 kill-15 PID 。我这里使用命令:kill -2 1563

kill -2 1563

kill 命令带数字参数,数字表示信号声明,详情可用 kill -l查看。-2和-15 都会等MongoDB 处理完事情释放相应资源后再停止。 kill -9 是马上停止进程,不要用 kill -9 来杀死MongoDB进程,否则很可能导致MongoDB的数据损坏。

六、设置MongoDB开机启动

1.Windows系统

本人安装的是MongoDB 4.4版本,默认自启动,无需手动设置!

2.Linux系统

方式一:在/etc/init.d目录下创建脚本(推荐)

方式二:在/etc/rc.local配置

七、修复未正常关闭的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 令修复一次,再正常启动。修复数据库的实际过程很简单:将所有的文档导出后马上导入,忽略无效的文档,完成后会重建索引 。因为所有数据都要验证,所有索引都要重建,数据量大的话,会花费较多 时间 。数据量大的情况下,临时修复目录所在磁盘空间一定要大,否则会出现磁盘容量不够的提示,无法修复。

END

零基础学会MongoDB启动与停止相关推荐

  1. 身为程序员还看不懂UML类图? 一文带你零基础学会看UML类图!

    身为程序员还看不懂UML类图? 一文带你零基础学会看UML类图! 一,UML类图示例图 二,UML类图图例 三,分步解析说明 3.1 类图: 3.2 接口: 3.3 实现继承 3.4 实现接口: 3. ...

  2. 学计算机换屏幕,自已动手修电脑省钱省时,手把手教你零基础学会笔记本如何换屏...

    原标题:自已动手修电脑省钱省时,手把手教你零基础学会笔记本如何换屏 笔记本电脑做为大家随身携带的移动电脑解决了大家移动办公的需求,他可以让我们在旅游,出差的时候能随时随地办公,给我们提供了极大的方便. ...

  3. 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)

    大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...

  4. 零基础学会BIM需要多长时间?

    学会BIM所需要的时间会因个人背景.目标和学习方法而异,但以下是一些可以帮助您了解零基础学会BIM需要多长时间的一些因素: 目标:BIM是一个广泛的概念,涵盖了建筑.工程和施工等各个领域.因此,您需要 ...

  5. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB

    MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...

  6. 简单零基础学会H5移动端滑动翻页效果

    这篇文章教大家如何使用原生js和少量css3动画来实现HTML5的翻页效果,我会尽量讲得细一点,让零基础的同学也能学会这个简单的案例. 先来看下html的布局代码: index.html 一个div包 ...

  7. centos7 mongoDB 启动与停止、环境搭建

    一.环境搭建 Step 1: 禁用 SELINUX=disabled [root@k8s-master conf]# vi /etc/selinux/config # This file contro ...

  8. 请问Python零基础学会可以做哪些?python是不是很难学?

    Python是一门非常优秀的编程语言,在国内的热度居高不下,受到大家的喜欢与追捧,而学习Python之后,很多人都会问:python能做什么兼职?接下来为大家详细介绍一下. 1.爬虫 首先,除了Pyt ...

  9. 织梦DEDECMS零基础学会如何做网站

    织梦DEDECMS建站学习01 首先对学习目标做了个规划,一步一步进行,便于记忆和学习. 一.新手阶段 1.织梦DEDECMS介绍&下载安装 2.织梦DEDECMS后台操作 3.织梦DEDEC ...

最新文章

  1. 2017年度NLP领域论文TOP10(附链接)
  2. XAPIAN简单介绍(三)
  3. SQLServer-sysobjects-type
  4. lambda sort
  5. 微信遇到特殊服务器,解决微信网页授权,出现errcode:40163,errmsg:codebeenused,看似微信访问了2次这个回调接口的问题...
  6. USACO 3.1 Agri-Net 最短网络 (最小生成树)(普里姆算法)
  7. 显著改善分割预测,ETH开源基于情景图储存网络的视频目标分割|ECCV2020
  8. how is SAP OData count implemented in the backend
  9. JAVA:贪吃蛇源代码
  10. 初学java小白的疑惑梳理
  11. Hive大数据-Hive的优缺点---大数据之Hive工作笔记0002
  12. VMware 安装LINUX系统(一)
  13. python引入redis_实操演练解读非关系型数据库—Redis
  14. Winclone快速安装苹果电脑双系统教程
  15. 谷歌google搜索打不开、谷歌gmail邮箱及相关服务无法登录的解决的方法
  16. jQuery siblings()用法与实例。
  17. AI工程师应聘要具备哪些能力?
  18. Android 倒计时; 时分秒与秒数的互转
  19. ZFS case : top CPU 100%sy, when no free memory trigger it.
  20. SPSS纵向数据格式转换为横向数据格式时变量不是自己想要

热门文章

  1. 通过王者自走棋学操作系统-死锁产生的4个条件
  2. 当删除后微软再次出现如何再次关掉微软输入法
  3. bp神经网络预测模型python,r语言bp神经网络预测
  4. Ae效果控件快速参考:音频
  5. java 实现画图板
  6. 大神之路-起始篇 | 第14章.计算机科学导论之【数据库】学习笔记
  7. 山东高考六选三学计算机选什么,山东新高考6选3组合一览表详细解读 该怎么选...
  8. 中国化学品运输船市场现状研究分析与发展前景预测报告
  9. 实用精短-kotlin设计模式
  10. 华为emui10.0能升级鸿蒙吗,华为正式发布EMUI 11,后续可优先升级到鸿蒙2.0