零基础学会MongoDB启动与停止

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

零基础学会MongoDB启动与停止_第1张图片

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

2、Linux系统命令行启动MongoDB

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

image-20210323171117096

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

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

image-20210323171230776

我们是通过在线仓库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启动界面

零基础学会MongoDB启动与停止_第2张图片

二、启动参数

使用 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 命令查看配置文件:

image-20210323190851207

配置文件内容为:

零基础学会MongoDB启动与停止_第3张图片

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

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

使用配置文件启动MongoDB:

image-20210323192143219

image-20210323192351567

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

四、启动MongoDB客户端

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

1.Windows 系统

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

或者

2.Linux系统

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

image-20210323192756580

零基础学会MongoDB启动与停止_第4张图片

五、关闭MongoDB

1.Windows系统

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

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

零基础学会MongoDB启动与停止_第5张图片

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

进入 mongodb 安装目录下的 bin 目录,运行客户端。然后使用admin 用户 ,使用命令 shutdown Server 关闭,同时关闭服务端和客户端
零基础学会MongoDB启动与停止_第6张图片

零基础学会MongoDB启动与停止_第7张图片

2.Linux系统

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

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

image-20210323195104832

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

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

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

结果截图:

零基础学会MongoDB启动与停止_第8张图片

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

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

ps aux|grep mongod

image-20210323200549819

我们看到执行启动 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版本,默认自启动,无需手动设置!

零基础学会MongoDB启动与停止_第9张图片

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,mongodb)