MongoDB上手笔记1——在windows desktop上安装并设置MongoDB服务

最近一个活儿要从设备那里每秒取一些数据回来,出于查询简单的想法,想把数据存在数据库里。之前不知道是因为错觉还是什么,一直觉得node.js非常的酉告(cooooool好像只能这样翻译了?),所以花了几天的时间学了学mongodb。大致整理成了如下这个类似于quick start之类的东西。

之所以注明是在windows desktop上安装,是因为这个活儿里,数据从设备到远程的PC中间数据通过GPRS传到第三方的服务器上,再通过第三方提供的软件从服务器上将数据取回,通过一个虚拟串口将数据读取出来。而第三方提供的软件只能运行在windows上,又只有盗版windows desktop,反正也只是做做样子只能凑活用下了。

1.简单启动MongoDB

从mongodb网站上下载完安装文件之后自行安装完毕。在此不表。

进入mongodb的安装路径中的放exe的文件夹下,可以看到里面有两个exe文件,分别叫mongo和mongod。

mongod就是启动数据库所需要的可执行文件。如果没有理解错误的话,mongod的名字应该是指mongo daemon process的意思,他会运行在后台,默默的完成数据库中的操作。

mongodb在安装的时候并不会把bin文件夹放到环境变量下,所以首先要将bin文件夹对应的路径放到系统环境变量PATH里。这样在cmd中输入mongo和mongod时,它才会知道这两个东西在哪里。

运行数据库,自然需要对数据库进行一系列的配置。在cmd中运行mongod的时候可以完成一些简单的配置,比如数据库存储数据的路径、日志文件的路径、端口的设置等等。例如如下的配置方式会在D:/dbs/data下存储数据文件,将日志文件存储在D:/dbs/log.txt中。

mongod --dbpath d:/dbs/data --logpath d:/dbs/log.txt

2.配置文件启动MongoDB

不过因为在cmd中输入一大长串字符串十分的不方便;而且会在桌面上留下一个cmd大黑框,很不美观。所以还是推荐使用配置文件进行数据库的配置。(当然如果不觉得cmd大黑框无所谓的话,桌面上放个bat文件也可以)

先建立一个mongodb的配置文件,假设放在了D:/dbs/mongo.conf这个路径下。随便用个什么编辑器打开mongo.conf。数据库配置文件使用的是YAML格式,简单使用的话,YAML和JSON没什么不一样的。不过需要注意的一个地方就是YAML不支持tab缩进,所以需要使用空格。以下是我的配置文件,简单配置的话大概有这么几个参数。

systemLog:
    destination: file
    path: "e:/MongoDB/log.txt"
    logAppend: true
storage:
    dbPath: "e:/MongoDB/data"
    journal:
        enabled: true
net:
    bindIp: 127.0.0.1
    port: 27999

其中,各个选项的意思如下。

systemLog.destination的值可以为file或是syslog,因为之后我们会将mongod设置为一个系统服(也就是不会出现cmd大黑框,并可以设置为开机启动)。所以设置为syslog没有意义,此处选择file。

当systemLog.destination设置为file的时候,systemLog.path也必须被确定(也就是上面对应的--logpath的参数)此参数设置了日志文件的路径。

systemLog.logAppend设置为true之后,日志文件就会每次都在现有的log.txt之后续写。默认的是false,则每次mongod重启之后都会同文件夹下备份上次的日志文件,同时新建一个日志文件。

storage.dbPath对应的就是之前--dbpath之后的参数,设置数据文件的存储目录。

storage.journal.enabled对应是否启用mongodb的日志机制。简单的可以理解为启用之后,mongodb崩溃之后可以快速恢复,即可以满足ACID中的一致性。

net.bindIp这个参数是设置绑定ip用的,默认使用本地地址。

net.port这个参数是设置绑定的端口的,默认使用是27017,此处改了改,改成了27999。

假设配置文件mongo.conf放在了d:/dbs/mongo.conf路径下。在这之后,就可以win+r打开cmd,然后输入如下命令启动mongodb。

mongod --config d:/dbs/mongo.conf

3.安装MongoDB服务

按照上面的做法,还是会出现一个cmd大黑框,而且每次都要输入一遍这个命令,还是很麻烦。

这个问题可以通过设置为MongoDB服务来解决(推荐在设置完用户权限之后在安装服务)。

首先以管理员权限打开cmd,然后输入如下命令。

mongod --config d:/dbs/mongo.conf --install

之后就可以在计算机管理->服务和应用程序->服务中看到MongoDB服务了。也可以修改是否要开机自动启动。这样就不会出现cmd的大黑框了。

如果需要修改配置文件,需要先删除现有的MongoDB服务,命令如下。

mongod --remove

之后修改配置文件,并重新安装MongoDB服务即可。