打开安装目录,双击mongo.exe
MongoDB4.4,关闭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 的启动参数说明如下。
–dbpath 参数:指定数据库文件保存路径,默认为/data/db
–port 参数:指定服务端口号,默认端口 27017
–bind_ip 参数:限制监听 ip ,指定多个 ip 时用逗号隔开
–fork:以守护进程的方式运行MongoDB ,创建服务器进程
还有许多其他参数,这里不一一列出
–fastsync:从一个dbpath里启用从库里复制服务,该dbpath的数据库是主库的快照。可用于快速启用同步。
–autoresync:如果从库与主库同步数据差得多,自动重新同步。
–oplogSize参数:设置oplog的大小(MB)。
–master:主库模式
–slave:从库模式
–source参数:从库端口号
–only参数:指定单一的数据库复制
–slavedelay参数:设置从库同步主库的延迟时间
–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 系统中通用。
mongo.exe 就是客户端的启动程序,只要找到 mongo 的可执行文件运行,即可进入 MongoDB 的客户端。 一般来说, mongo 可执行文件与 mongod 服务端启动可执行文件在同一个目录下。
进入mongodb安装目录,双击mongo.exe即可启动MongoDB 的客户端。
或者
进入安装 目录下的 bin 目录中,执行 mongo 命令即可(切记需要保持服务端开启的状态下)
方式一:关闭当前客户端窗口[不推荐]
方式二:在当前客户端窗口使用Ctrl+C,关闭客户端
。[推荐]
方式三:进入mongo客户端运行命令停止
进入 mongodb 安装目录下的 bin 目录,运行客户端。然后使用admin 用户 ,使用命令 shutdown Server 关闭,同时关闭服务端和客户端
。
方式一:在当前客户端窗口使用 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 4.4版本,默认自启动,无需手动设置!
方式一:在/etc/init.d目录下创建脚本(推荐)
方式二:在/etc/rc.local配置
MongoDB 如果未正常关闭, 会导致无法启动。
MongoDB 服务无法启动,弹出框报错: Windows 无法启动 MongoDB服务 错误 1067: 进程意外终止。在事件查看器中可看到该错误 :MongoDB 服务因无法创建另一个系统信号灯,服务特定错误而停止。
进入 MongoDB 安装目录/data/ ,将此文件夹下的 mongod.lock 删除,使用该方法 MongoDB 服务可以启动起来。 Linux 系统可以使用 find / -name ‘mongod.lock’ 查找路径,数据方面不会受到影响。mongod.lock 文件是 MongoDB 服务端启动后在硬盘中创建的一个锁文件,如果是正常退出 MongoDB 服务,该文件即使还存在,也不会影响下一次启动 MongoDB服务。
这个文件还会记录 MongoDB 在运行过程中的一些状态,以便在正常重新启动服务时能够获取异常信息提示。
删除 lock 文件之后, 如果有损坏文档需要使用 mongod -repair 令修复一次,再正常启动。修复数据库的实际过程很简单:将所有的文档导出后马上导入,忽略无效的文档,完成后会重建索引 。因为所有数据都要验证,所有索引都要重建,数据量大的话,会花费较多 时间 。数据量大的情况下,临时修复目录所在磁盘空间一定要大,否则会出现磁盘容量不够的提示,无法修复。