把Mongodb Server 设置为系统,方便启动与停止
今天一时兴起在本地安装了下Mongodb服务,安装完后,创建了配置文件为数据库服务指明在哪里存储数据库原始文件,随即就启动了mongo server,然后就发现一个不顺意的事情,启动server的exe程序执行完会遗留一个cmd窗口,这个真的是。。,为什么不是一个运行于后台的系统服务呢?
决定做把mongo server设置为系统服务这件事情后,首先是去查相关资料怎么把一个exe程序配置为Windows系统的服务,中间还查到了“sc”的用法,着实走了一大段弯路啊!!
下面就说明下在windows下安装mongodb并配置MongoDB服务(windows 10);
1 . 下载msi安装文件并安装,Download
2 . 为了方便操作,这里在安装完后,并把mongo安装目录下的 bin 目录配置到环境变量中。
3 . 创建mongo的初始化配置文件,这个文件里面指定了数据库文件和日志文件存储的位置,本人把配置文件放于“E:\mongodb\mongod.cfg”文件内容如下,
systemLog:
destination: file
path: E:\mongodb\data\log\mongod.log
storage:
dbPath: E:\mongodb\data\db
4 . 准备工作到此就可以了,接下来我们就可以通过执行mongod命令注册系统的Mongodb服务啦,这里我们用系统管理员打开一个命令行终端(“cmd.exe”),执行下面的命令;
mongod --config "E:\mongodb\mongod.cfg" --install
5 . 然后可以查看系统的服务列表,运行“services.msc”, 打开系统服务管理界面在里面查找到”Mongodb”服务,验证上面的操作确实成功为系统注入了Mongodb服务;
6 . 启动服务
1). 方法一,就在上一步打开的服务管理页面找到Mongodb服务并启动;
2). 方法二,回到命令行,执行net start MongoDB;
对应的关闭服务也是同样的方法! net stop MongoDB;
7 .最后我们再通过mongo shell连接下MongoDB server (mongo默认是关闭授权认证的,只要能连接到端口的连接都是可以连接数据服务的)!
mongo
到此,我们就成功在Windows下创建了MongoDB服务,以后就不用看到烦人的命令服务终端咯
PS: 如本篇这样操作,那启动服务后,本机上就只会存在一个mongo server, (即本主机上只能有一个server实体,本人觉得这个应该是正常的情况吧),还有一些其他特殊需求,比如我们要建立一个mongo server cluster,那以系统服务这种方式,只能为我们提供一个server实体,然后我们可以执行多次mongod (”mongod -f mongod.conf“,每个独立的server实体需要一个配置文件,分别把各自的数据库文件及日志放于不同的目录)命令启动多个命令终端,那样每个命令终端对应一个mongo server,就可以凑成我们的数据库集群了哈哈