Windows安装MongoDB

一、简介

MongoDB 是一个基于分布式 文件存储的NoSQL数据库
由C++语言编写,运行稳定,性能高
旨在为 WEB 应用提供可扩展的高性能数据存储解决方案
查看官方网站

MongoDB特点
模式自由 :可以把不同结构的文档存储在同一个数据库里
面向集合的存储:适合存储 JSON风格文件的形式
完整的索引支持:对任何属性可索引
复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目的是提供冗余及自动故障转移
自动分片:支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器
丰富的查询:支持丰富的查询表达方式,查询指令使用JSON形式的标记,可轻易查询文档中的内嵌的对象及数组
快速就地更新:查询优化器会分析查询表达式,并生成一个高效的查询计划
高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)

二.安装与配置

1.下载安装
本次安装版本3.4.19

2.配置启动
2.1 将下载的zip文件解压到一个文件夹,我这里解压到D:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19,如下图所示:

2.2 配置存放日志和数据的目录,不然mongoDB启动不起来。
先创建一个db存放路径:

D:\MongoDb\data\db

再创建一个log存放路径:

D:\MongoDb\data\log\\mongodb.log


2.3 继续在解压文件的D:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19路径下创建一个mongodb.cfg 配置文件,并在里面添加上面新建的配置文件夹路径:

dbpath=D:\MongoDb\data\db
logpath=D:\MongoDb\data\log\mongodb.log


2.4 打开控制台cmd,进入mongodb安装目录(D:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19)/bin文件下执行mongod.exe --config "d:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\mongodb.cfg"来启动MongoDB服务,–config 选项表示启动时通过d:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\mongodb.cfg这个配置文件来启动,注意这里路径一定要用“”括起来:

D:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\bin> mongod.exe --config "d:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\mongodb.cfg"
2019-01-30T15:17:49.607+0800 I CONTROL  [main] log file "D:\MongoDb\data\log\mongodb.log" exists; moved to "D:\MongoDb\data\log\mongodb.log.2019-01-30T07-17-49".

2.5 测试一切是否正常:

切换到D:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19/bin,执行mongo.exe

D:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\bin> mongo.exe
MongoDB shell version v3.4.19
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.19
Server has startup warnings:
2019-01-30T14:54:48.003+0800 I CONTROL  [initandlisten]
2019-01-30T14:54:48.003+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-01-30T14:54:48.003+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2019-01-30T14:54:48.003+0800 I CONTROL  [initandlisten]
>

看到此界面就说明配置成功了。

添加到系统服务

当我们关闭或结束以mongod.exe --config "d:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\mongodb.cfg"来启动MongoDB服务的窗口时,将不能在bin目录下使用 mongo.exe来访问MongoDB了(因为服务没启动怎么访问?),现在需要像mysql一样添加到Windows Service,然后在命令行上启动服务和关闭服务,这样方便我们操作和管理服务。

我们接下来需要把MongoDB到Windows Service,用到的命令是–install设定安装MongoDB为服务器到Windows Service

以管理员身份启动cmd, 进入dos命令界面,先进入到cd D:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\bin目录下,执行mongod.exe --config "d:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\mongodb.cfg" --install --serviceName "MongoDB"

D:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\bin> mongod.exe --config "d:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\mongodb.cfg" --install --serviceName "MongoDB"
2019-01-30T14:52:24.940+0800 I CONTROL  [main] log file "D:\MongoDb\data\log\mongodb.log" exists; moved to "D:\MongoDb\data\log\mongodb.log.2019-01-30T06-52-24".

如果安装了杀毒软件会提示阻止,不要阻止选择允许即可。

启动/关闭MongoDB服务

  • net start mongodb 启动MongoDB服务

    D:\>net start mongodb
    MongoDB 服务正在启动 ..
    MongoDB 服务已经启动成功。
  • net stop mongodb 启动MongoDB服

    D:\>net stop mongodb
    MongoDB 服务正在停止.
    MongoDB 服务已成功停止。

如果服务没启动将会出现以下错误:

D:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\bin>mongo.exe
MongoDB shell version v3.4.19
connecting to: mongodb://127.0.0.1:27017
2019-01-30T15:33:30.653+0800 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017 after 5000ms milliseconds, giving up.
2019-01-30T15:33:30.653+0800 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
[email protected]/mongo/shell/mongo.js:240:13
@(connect):1:6
exception: connect failed

添加path

访问MongoDB时只能在D:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\bin路径下,这显然不是我们想要的太low了,将D:\MongoDb\mongodb-win32-x86_64-2008plus-ssl-3.4.19\bin添加到系统环境变量中的path即可

C:\Users\WeiBing> mongo.exe
MongoDB shell version v3.4.19
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.19
Server has startup warnings:
2019-01-30T15:34:31.268+0800 I CONTROL  [initandlisten]
2019-01-30T15:34:31.268+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-01-30T15:34:31.268+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2019-01-30T15:34:31.268+0800 I CONTROL  [initandlisten]
>

现在在哪个路径都可以访问MongoDB了。

安装可视化工具

是两款Mongodb的可视化工具:

MongoBooster

下载地址:http://mongobooster.com/downloads

本次使用MongoBooster

MongoChef

个人免费,用于商业需要有授权

下载地址:http://3t.io/mongochef/download/platform/