MongoDB的安装启动及做成windows服务的教程图解

1. MongoDB安装

首先,我们需要在MongoDB官网中下载安装程序:https://www.mongodb.com/try/download/community,选择相应的版本并按照提示进行安装。

安装成功后,我们可以通过MongoDB提供的命令行工具mongod.exe启动MongoDB服务,如下所示:

mongod.exe --dbpath "E:\MongoDB\data"

其中,--dbpath参数指定MongoDB数据存储的目录,需要自行创建并指定。如果成功启动,那么服务会在控制台输出如下信息:

2021-07-30T16:07:02.206+0800 I CONTROL [initandlisten] MongoDB starting : pid=6524 port=27017 dbpath=E:\MongoDB\data 64-bit host=xxx

2021-07-30T16:07:02.206+0800 I CONTROL [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2

2021-07-30T16:07:02.206+0800 I CONTROL [initandlisten] db version v5.0.2

2021-07-30T16:07:02.206+0800 I CONTROL [initandlisten] git version: e4b8eb1b389f5db140add6b60511815cdbc35d98

2021-07-30T16:07:02.206+0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.1.1k 25 Mar 2021

2021-07-30T16:07:02.206+0800 I CONTROL [initandlisten] allocator: tcmalloc

2021-07-30T16:07:02.206+0800 I CONTROL [initandlisten] modules: none

2021-07-30T16:07:02.206+0800 I CONTROL [initandlisten] build environment:

2021-07-30T16:07:02.206+0800 I CONTROL [initandlisten] distmod: windows-64

2021-07-30T16:07:02.206+0800 I CONTROL [initandlisten] distarch: x86_64

2021-07-30T16:07:02.206+0800 I CONTROL [initandlisten] target_arch: x86_64

2021-07-30T16:07:02.206+0800 I CONTROL [initandlisten] options: { storage: { dbPath: "E:\MongoDB\data" } }

2021-07-30T16:07:02.255+0800 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=7680M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),compatibility=(release="3.0",require_max="3.0"),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),verbose=(recovery_progress),

2021-07-30T16:07:02.786+0800 I STORAGE [initandlisten] WiredTiger message [1627616822:786352][6524:140716695078656], txn-recover: Set global recovery timestamp: (0, 0)

2021-07-30T16:07:03.369+0800 I RECOVERY [initandlisten] WiredTiger recoveryTimestamp. Ts: Timestamp(0, 0)

2021-07-30T16:07:03.413+0800 I CONTROL [initandlisten]

2021-07-30T16:07:03.413+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.

2021-07-30T16:07:03.413+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.

2021-07-30T16:07:03.413+0800 I CONTROL [initandlisten]

2021-07-30T16:07:03.415+0800 I SHARDING [initandlisten] Marking collection local.system.replset as collection version:

2021-07-30T16:07:03.415+0800 I STORAGE [initandlisten] createCollection: local.startup_log with provided UUID: d9e49a26-ceba-4fc8-b703-0b0eedd25a97 and options: { capped: true, size: 10485760 }

2021-07-30T16:07:03.426+0800 I INDEX [initandlisten] index index-1587898570.1581763.$_id_ created with default settings on collection

local.startup_log

2021-07-30T16:07:03.438+0800 I STORAGE [initandlisten] createCollection: local.replset.oplogTruncateAfterPoint with provided UUID: 1f76a9df-54f4-4646-98c4-5fbfd4676b68 and options: { capped: true, size: 1073741824 }

2021-07-30T16:07:03.475+0800 I REPL [initandlisten] Starting replication subsystems

2021-07-30T16:07:03.475+0800 I REPL [initandlisten] Parsing configuration options for primary: { _id: 0, host: "xxx:27017", processId: ObjectId('663fa8287f3f15b1eac3b0c246a929a5') }

2021-07-30T16:07:03.475+0800 I REPL [initandlisten] StartupMsg: Starting replication agent with pid=6524. Theoretical max oplog already on machine is: 270MB

2021-07-30T16:07:03.475+0800 I REPL [initandlisten]

2021-07-30T16:07:03.475+0800 I NETWORK [initandlisten] waiting for connections on port 27017

如果要停止MongoDB服务,可以在控制台中使用Ctrl+C或者通过命令行工具mongod.exe加上--shutdown参数来停止服务:

mongod.exe --shutdown

2. MongoDB作为Windows服务启动

如果我们希望MongoDB在Windows系统启动时自动启动,并以服务形式运行,那么我们需要再安装MongoDB的基础上进行以下操作:

2.1 创建配置文件

在MongoDB的安装路径下,创建mongod.cfg文件,并添加以下内容:

systemLog:

destination: file

path: E:\MongoDB\logs\mongod.log

logAppend: true

storage:

dbPath: E:\MongoDB\data

journal:

enabled: true

processManagement:

windowsService:

serviceName: MongoDB

displayName: MongoDB

description: MongoDB Server

net:

bindIp: xxx.xxx.xxx.xxx

port: 27017

ssl:

mode: requireSSL

PEMKeyFile: E:\MongoDB\ssl\mongodb.pem

CAFile: E:\MongoDB\ssl\mongodb-ca.pem

其中,systemLog节点指定MongoDB服务的日志文件路径,storage节点指定数据存储目录,processManagement节点指定服务相关配置,net节点指定MongoDB服务的网络相关配置。需要根据实际情况进行修改。

2.2 安装MongoDB服务

在命令行工具中使用mongod.exe,加上--config参数指向配置文件,以安装MongoDB服务:

mongod.exe --config "E:\MongoDB\mongod.cfg" --install

2.3 启动MongoDB服务

使用Windows服务管理器启动MongoDB服务,或者使用命令行工具net start MongoDB命令启动MongoDB服务。

3. MongoDB作为Windows服务停止

在命令行工具中使用mongod.exe,加上--remove参数即可删除MongoDB服务:

mongod.exe --remove

或者使用Windows服务管理器停止MongoDB服务。

4. 总结

本文介绍了如何在Windows系统中安装MongoDB、如何使用命令行工具启动和停止MongoDB服务,以及如何将MongoDB作为Windows服务启动。MongoDB是一个高性能、开源、面向文档的NoSQL数据库,具有分布式能力、高可用性、自动分片等功能,非常适用于大规模、高并发、复杂数据结构的场景。

数据库标签