Windows安装配置MongoDB

准备

MongoDB是一个灵活的文档数据库,它将数据存储在类似JSON的文档中。下面是Windows下安装与配置的过程。

可以点击这里下载Windows的MongoDB安装包。

安装

下载完安装包后直接双击打开就开始安装,安装过程其实很简单,只需要不断点击Next就可以了。

只是如果需要选择安装路径的话,在Choose Setup Type时选择Custom就可以自定义路径。

创建目录

MongoDB将数据等存在db目录下,但这个目录我们需要自行创建。

我的安装目录是:

1
D:\Program Files\MongoDB\Server\3.4

我就在这个目录下新建一个data目录,在data里再建一个db目录:

1
D:\Program Files\MongoDB\Server\3.4\data\db

运行服务

cmd切换到bin目录下执行以下命令:

1
mongod --dbpath "D:\Program Files\MongoDB\Server\3.4\data\db"

注意:我的目录里Program Files有空格,所以在命令里需要用双引号引起。

运行命令后,可以看到类似以下输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2018-02-24T01:24:39.882-0700 I CONTROL  [initandlisten] MongoDB starting : pid=15252 port=27017 dbpath=D:\Program Files\MongoDB\Server\3.4\data\db 64-bit host=DESKTOP-H1N98FT
2018-02-24T01:24:39.882-0700 I CONTROL [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2018-02-24T01:24:39.883-0700 I CONTROL [initandlisten] db version v3.4.9
2018-02-24T01:24:39.883-0700 I CONTROL [initandlisten] git version: 876ebee8c7dd0e2d992f36a848ff4dc50ee6603e
2018-02-24T01:24:39.883-0700 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1u-fips 22 Sep 2016
2018-02-24T01:24:39.883-0700 I CONTROL [initandlisten] allocator: tcmalloc
2018-02-24T01:24:39.883-0700 I CONTROL [initandlisten] modules: none
2018-02-24T01:24:39.884-0700 I CONTROL [initandlisten] build environment:
2018-02-24T01:24:39.884-0700 I CONTROL [initandlisten] distmod: 2008plus-ssl
2018-02-24T01:24:39.884-0700 I CONTROL [initandlisten] distarch: x86_64
2018-02-24T01:24:39.884-0700 I CONTROL [initandlisten] target_arch: x86_64
2018-02-24T01:24:39.884-0700 I CONTROL [initandlisten] options: { storage: { dbPath: "D:\Program Files\MongoDB\Server\3.4\data\db" } }
2018-02-24T01:24:39.914-0700 I - [initandlisten] Detected data files in D:\Program Files\MongoDB\Server\3.4\data\db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2018-02-24T01:24:39.915-0700 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=5565M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2018-02-24T01:24:41.078-0700 I CONTROL [initandlisten]
2018-02-24T01:24:41.078-0700 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-02-24T01:24:41.078-0700 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2018-02-24T01:24:41.078-0700 I CONTROL [initandlisten]
2018-02-24T16:24:41.504+0800 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory 'D:/Program Files/MongoDB/Server/3.4/data/db/diagnostic.data'
2018-02-24T16:24:41.507+0800 I NETWORK [thread1] waiting for connections on port 27017
2018-02-24T16:25:06.603+0800 I NETWORK [thread1] connection accepted from 127.0.0.1:2718 #1 (1 connection now open)
2018-02-24T16:25:06.605+0800 I NETWORK [conn1] received client metadata from 127.0.0.1:2718 conn1: { application: { name: "MongoDB Shell" }, driver: { name: "MongoDB Internal Client", version: "3.4.9" }, os: { type: "Windows", name: "Microsoft Windows 8", architecture: "x86_64", version: "6.2 (build 9200)" } }

这时在浏览器访问http://localhost:27017/可以看到这样一句话:

1
It looks like you are trying to access MongoDB over HTTP on the native driver port.

这就说明服务已经启动了。

然后就可以在bin目录打开cmd,执行mongo命令进入MongoDB客户端了(小技巧:在打开的文件管理器的地址栏输入cmd就可以在当前路径打开命令行,或者按shift + 右键也可以选择在当前目录打开cmd,不过我的win10更新后用shift + 右键只能打开Power Shell了,不是很习惯…):

1
2
3
4
5
6
7
8
9
10
D:\Program Files\MongoDB\Server\3.4\bin>mongo
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.9
Server has startup warnings:
2018-02-24T01:24:41.078-0700 I CONTROL [initandlisten]
2018-02-24T01:24:41.078-0700 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-02-24T01:24:41.078-0700 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2018-02-24T01:24:41.078-0700 I CONTROL [initandlisten]
>

此外,我们可以把D:\Program Files\MongoDB\Server\3.4\bin路径配置到环境变量的Path里,这样就不用每次使用都切换到bin目录下了。
环境变量的配置:右键我的电脑 –> 属性 –> 高级系统设置 –> 环境变量,然后选择Path把路径添加就可以了。

配置系统服务

每次都通过命令行打开MongoDB服务比较麻烦,我们可以把它配置成系统服务。

首先,先在data目录下新建一个log目录,然后新建一个mongo.log作为日志文件。

我们需要以管理员权限运行cmd命令行,然后执行:

1
mongod --bind_ip 0.0.0.0 --logpath "D:\Program Files\MongoDB\Server\3.4\data\logs\mongo.log" --logappend --dbpath "D:\Program Files\MongoDB\Server\3.4\data\db" --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install

执行完这个命令后,就可以在通过win + R输入services.msc打开系统服务,在这里控制MongoDB服务的开启和关闭而不用通过命令行了。

完成

这样,Windows下MongoDB的安装和配置就完成了。